关于方法重载,总是遗忘这个知识点:
仅仅修改方法的修饰符或返回值,是否构成重载?
今天看了下方法重载的定义,
“在同一个类的同名方法,有不同类型或者数量的形参,构成重载。”
严格按照定义来看,只有不同类型和数量的形参才能构成重载,压根没有提“方法修饰符或返回值”。
所以上面疑问,答案是否定的。
事实上,在代码中也是这样体现的。
class Person{
public void func1(int a, int b){
}
public String func1(int a, int b){
}//报错,方法重复定义
public void func1(String a, int b){
}//正确,构成重载
}