对于类的方法(包括从父类中继承的方法),如果两个方法的参数名相同,但参数不一致,那么可以说一个方法是另一个方法的重载方法。
方法的重载必须满足以下条件:
1)方法名相同
2)方法的参数类型、个数、顺序至少有一项不同
3)方法的返回类型可以不相同
4)方法的修饰符可以不相同
*参数签名是指参数的类型、个数和顺序。
注:如果在一个类中有两个方法名相同且参数签名也完全相同的方法,那么Java虚拟机在运行时候就无法决定到底执行哪个方法。
假如在以下TestOverload类中定义了method()方法
public class TestOverload { public void method(int i, String str){} //加入其他方法 }
下面哪些方法加入到TestOverload类中并能保证编译正确?
A)public void method(String str, int i){}
B)public int method(int i, String str){ return 0; }
C)private void method(int i, String s){}
D)public void Mehtod(int i, String str){}
E)abstract void method(int i);
答案为 A,D
本文出自 “stormkai” 博客,请务必保留此出处http://stormkai.blog.51cto.com/7934168/1652662
原文地址:http://stormkai.blog.51cto.com/7934168/1652662