加上了@Override 之后,这个方法必须是正确重写的,要不然会提示报错
package com.itheima.d9_extends_override;
public class Test {
public static void main(String[] args) {
// 目标:认识方法重写
NewPhone hw = new NewPhone();
hw.call();
hw.sendMsg();
}
}
/**
* 新手机:子类
*/
class NewPhone extends Phone{
// 方法重写:指的是在子类中定义和父类一样的方法
@Override // 1.重写校验注释,加上之后,这个方法必须是正确重写的,这样更安全 2.提高程序的可读性,代码优雅
public void call(){
super.call();
System.out.println("新手机开始视频");
}
// 重写的方法
@Override
public void sendMsg(){
super.sendMsg(); // 先用他父类的功能
System.out.println("新手机开始发短信");
}
}
/**
* 旧手机:父类的
*/
class Phone {
public void call(){
System.out.println("打电话");
}
public void sendMsg(){
System.out.println("发短信");
}
}
静态方法不能被重写:
因为父类定义的静态方法是属于父类本身,要调用直接属于类名.方法名 (static静态方法成员共享) 不存在继承关系