1,方法重写概念
当子类继承父类后,拥有了父类的成员并可以直接调用父类非私有方法。如果子类认为父类提供的方法不够强大,子类可以按照子类自身的逻辑重新定义继承过来的父类方法,这个重新定义一个方法的过程
2,方法重写格式
类的定义:
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person{
private String name;
public void eat(){
System.out.println(“吃饭”);
}
}
public class Chinese extends Person{
public void eat() {
System.out.println(“按照中国的习惯,使用筷子吃”);
}
}
子类的使用:
public class Test{
public static void main(String[] args) {
Chinese c = new Chinese();
c.setName(“张大力”); //父类继承方法直接调用
String name = c.getName(); //父类继承方法直接调用
System.out.println(name); //打印结果为张大力
c.eat(); //方法重写后调用的为重写后的方法
//打印结果:按照中国的习惯,使用筷子吃
}
}
3,Java中方法重写规则
- 子类重写方法时,在声明前加@Override可检测该方法是否为重写的方法
- 访问权限相同或子类方法访问权限更大(访问权限顺序public>默认)
- 方法名称必须相同
- 参数列表必须相同
- 返回值为基本类型时必须相同
- 返回值为引用类型时相同或子类小