概述:子类中出现了和父类一样的方法声明 特点:既沿袭了父类,又定义了子类特有的内容 @Override 检查重写方法的正确性
定义一个Phone的类
public class Phone {
public void call (String name) {
System.out.println("给"+name+"打电话");
}
}
再定义一个子类继承Phone类
public class NewPhone extends Phone{
@Override
public void call(String name){
System.out.println("开启视频功能");
// System.out.println("给"+name+"打电话");
super.call(name);
}
}
再写一个测试类测试
public class Demo {
public static void main(String[] args) {
Phone p=new Phone();
p.call("程序员");
System.out.println("-----------");
NewPhone np=new NewPhone();
np.call("程序员");
}
}
编译结果:
注意事项:
私有方法不能被重写(父类私有成员子类不能继承) 子类方法访问权限不能低(public>默认>私有)
public class Fu {
private void show() {
System.out.println("fu中show方法被调用");
}
/* private void method(){
System.out.println("fu中method方法被调用");
}
*/
void method(){
System.out.println("fu中method方法被调用");
}
}
public class Zi extends Fu{
/* @Override //报错!!!
private void show() {
System.out.println("zi中show方法被调用");
}*/
/* @Override
public void show() { //报错!!!
System.out.println("zi中show方法被调用");
}*/
@Override
public void method() {
System.out.println("zi中method方法被调用");
}
}
希望大家批评指正
谢谢大家~