方法重写和重载的区别
重写和重载必须是同名方法。
重写是出现在子类和父类,两个类之间一种多态。
重载是出现在一个类里,一个类里的多态。
重写时,参数列表必须相同。
重载时,参数列表必须不同。
当参数列表是两个相同类型的参数,但是形参名称不同时,可以重写却不能重载。
重写时,返回值类型必须相同。
重载时,返回值类型不是判断重载的条件。
重写时,子类中的方法访问权限必须高于父类的。
重载时,访问权限修饰词不影响重载。
常见的重写方法上会有@Override注解。
常见的重载方法如构造器的重载。
重载显示:
public class Mum {
Integer print(Integer name){
return 1;
}
}
public class Son extends Mum{
@Override
public Integer print(Integer i2){
return 1;
}
}
重载显示:
public class Person {
private Integer age;
private String name;
private Integer gender;
public Person(){}
private Person(Integer age){
this.age = age;
}
private Person(Integer age,String name){
this.age = age;
this.name = name;
}
public Person(String name,Integer age){
this.age = age;
this.name = name;
}
}