展开全部
方法重载:
1.必须在同一个类
2.方法名相同
3.方法参数个数或参数类型(或参数顺序)不同
注:
1.参数顺序指的是62616964757a686964616fe4b893e5b19e31333332626632参数类型顺序,与参数名字无关,比如show(int a,,Stringa,int c)和show(int c,String b,int a)是一样的方法,非方法重载,因为他们的参数类型顺序一样是int,String,int
2.方法重载与访问权限修饰符和方法返回值无关
调用:
1.当调用的时候,填好方法参数时,它会自动判断参数类型,参数类型顺序,个数,然后再调用相应的重载 方法,当匹配不到相应的重载方法,那么直接编译错误
例子:
方法1. show()
方法2. show(int a,int b)
方法3. show(int a,String b)
方法4. show(String b,int a)
方法5. show(int b,int a)
1. 方法1.2.3.4是重载方法(1与[234]参数个数不同,2与[34]参数类型不同,3与[4]参数类型顺序不同)
2. 方法1.3.4.5是重载方法(1与[534]参数个数不同,5与[34]参数类型不同,3与[4]参数类型顺序不同)
3. 方法2和5非方法重载,因为参数类型顺序一样,跟参数名字无关
4. 以方法1.2.3.4为例,show()会调用方法1,show(1,1)会调用方法2,show(1,"1")会调用方法3
show("1",1)会调用方法4
----------------------------------------------------------------------------------------------------------------你两个方法名分别是test1,test2,方法名不同,肯定不是方法重载,而且构造方法名必须跟类名一样,不可能出现不同名的构造方法
2.假如test(int i,String s){} test(String s,int i){}
那么这2个构造方法是重载,不会出现编译错误,因为参数类型顺序不同,第一个构造方法参数类型顺序是int,String,第二个构造方法参数类型顺序是String,int