比如说:
(1)public void add(int i){} (2)public void add(int i,int j){} (3)public void add(int a){} (4)public void add(double i,int j){} 1和2算重载因为那个数不同。 2和4也算重载因为类型不同。 那1和3算不算重载?他们的名字不同??
这不能通过编译。因为1和3本质是一样的两个方法,参数的名称本质只是在方法内部的一个变量的标识,重载只与参数类型和参数个数有关。如果有多个参数,那么如果这些参数的类型不同就要考虑参数位置了。例如: public void print(int a,String b) {} public void print(String a, int b){}
也是方法的重载