方法重载
What
在同一个类中,定义多个方法名相同,但是参数列表不同的方法,调用方法时通过传递不同的参数列表来决定调用的是哪种方法,从而让类以统一的方式处理不同类型数据的手段。
Features
-
方法名相同
-
参数列表不同
-
参数的数据类型
public void add (int a, int b) { System.out.println(a + b); } public void add(int a, double b){ System.out.println(a + b); }
-
参数的个数
int value; public void method(){ System.out.println(value); } public void add(int a) { System.out.println(a); } public void add (int a, int b) { System.out.println(a + b); }
-
参数的顺序
public void add(int a, double b){ System.out.println(a + b); } public void add(double b, int a){ System.out.println(a + b); }
-
-
和修饰符,返回值的类型无关
// 会报错,1 和 2 是两个不同的方法,但方法名相同 public void method(int value){ // ...(1) System.out.println(value); } public int method(int value) { // ...(2) return value; }
Note
当实际参数和所有的方法的形式参数不一致, 系统会按照自动类型提升的原则,就近匹配.