方法重写(override)的注意事项
- 方法重写就是写在子类中的方法,和父类的方法名称,参数列表相同
- 必须保证父子类之间
方法的名称
相同,参数列表
也相同。
@Override
:写在方法前面,用来检测是不是有效的正确覆盖重写。这个注解就算不写,只要满足要求,也是正确的方法覆盖重写。 - 子类方法的
返回值
必须小于等于父类方法的返回值范围。
小扩展提示:java. lang. object
类是所有类的公共最高父类(祖宗类),java. lang. String就是 object的子类。 - 子类方法的
权限
必须大于等于父类方法的权限修饰符。
小扩展提示: public > protected > (default) > private
备注: (default)不是关键字default,而是什么都不写,留空。
下面的图可以类比为什么我们需要继承和重写
public class OldPhone {
public void call(){
System.out.println("打电话");
}
public void send(){
System.out.println("发短信");
}
public void show(){
System.out.println("电话号码");
}
}
public class NewPhone extends OldPhone {
@Override
public void show(){
super.show();
System.out.println("来电姓名");
System.out.println("来电头像");
}
}
public class Demo01Override {
public static void main(String[] args) {
NewPhone newPhone = new NewPhone();
newPhone.call();
newPhone.send();
newPhone.show();
}
}