方法的重载

简单来说,方法重载就是两个方法,有着相同的名字,但是不同的参数列表,重载与多态没有关系。

重载的好处:同一个方法有多钟带有不同参数的版本,能够让你很方便的调用。

重载版的方法只是刚好有相同的名字的不同方法,它与继承或者多态无关。重载的方法与覆盖的方法不一样。

重点:

1.返回类型可以不同 :你可以任意地改变重载方法的返回类型,只要所有的覆盖使用不同的参数类型即可。

2.不能只改变返回类型 : 因为你这样操作的话,这不是一个有效的重载,编译器会假定你想覆盖这个方法。并且除非返回的类型是父类返回类型的子类,不然将不合法。要想重载一个方法,你必须改变参数列表,返回类型则是可以任意定义。

3.你可以用一个more restrictive的方法来重载另一个方法,这是没有关系的,since the new method isn’t obligated to fulfifill the contract of the overloaded method.

下面再举一些方法重载的合法例子:

public class Overloads {
String uniqueID;
public int addNums(int a, int b) {
return a + b;
}
public double addNums(double a, double b) {
return a + b;
}
public void setUniqueID(String theID) {
// lots of validation code, and then:
uniqueID = theID;
}
public void setUniqueID(int ssNumber) {
String numString = “” + ssNumber;
setUniqueID(numString);
}}
posted @ 2020-05-03 10:45  zmlgoes  阅读(517)  评论(0编辑  收藏  举报