在子类中创建一个与父类中相同名称、相同返回值类型、相同参数列表的方法,只是方法体中的实现不同,以实现不同于父类的功能,这种方式被称为方法重写(override),又称为方法覆盖。当父类中的方法无法满足子类需求或子类具有特有功能的时候,需要方法重写。
子类可以根据需要,定义特定于自己的行为。既沿袭了父类的功能名称,又根据子类的需要重新实现父类方法,从而进行扩展增强。
//注意重写的方法,形参列表和方法名必须与前方法一致
//私有方法不能被重写(加override是否报错)
package com.yuyang.override;
public class Test {
public static void main(String[] args) {
//认识方法重写
//注意重写的方法,形参列表和方法名必须与前方法一致
//私有方法不能被重写(加override是否报错)
newPhone hw=new newPhone();
hw.call();
hw.sendMes();
}
}
class newPhone extends Phone{
@Override//重写校验注解,更安全,提高代码的可读写性,代码更优雅
public void call(){//重写的方法
super.call();
System.out.println("开视频电话");
}
@Override
public void sendMes(){//重写的方法
super.sendMes();
System.out.println("发图片");
}
}
class Phone{
public void call(){
System.out.println("打电话");
}
public void sendMes(){
System.out.println("发短信");
}
}