由子上面这条语句丢弃了round()方法产生的值,所以它并没有什么意义,但是它说明了为什么返回值类型不能作为方法签名的一部分。对于编译器来说,从这条语句中没有办法知道方法round返回的是什么类型。因此,如果有几个不同版本的方法round(),并且返回值类型是它们特征的惟一区别,那么编译器就无法确定你使用的是哪个版本的round().
有很多情况下,使用方法重载是十分便利的。你己经看到过,标准类Math中包含两个版本的方法round(),一个接受float类型的自变量,另一个则接受double类型的自变量。现在你可以知道,方法重载使这种定义成为可能。在两个操作基本相同时,若要求必须对每个round()版本使用不同的名字,将是相当令人烦厌的。使用重载的最多场合是为一个类编写多个构造函数。现在就让我们来介绍这种情况。
构造函数如同类中的其他方法一样,也可以进行重载。在大多数情形下,需要用不同的初始数据集构造一个类的若干个对象。如果我们考虑一下Sphere二类,为它设想一种需求,用各种方式定义sphere对象。你可能希望一个构造函数只接受一个点的坐标值(x,y, z),并且用默认的半径值1.0.构造一个Sphere对象。另一种是你可能希望建立一个默认的Sphere,半径为1.0,位于原点,所以,根本不需要指定自变量。