C#方法参数个数和类型相同,名称不同,可以实现重载吗
比如说:
(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){}
也是方法的重载