一 定义:当父类的的方法不能满足子类现在的需求时,需要进行方法重新。
在我看来方法的重写就是父类的方法中的行为不能表达出子类的特征,而子类还需要进行行为而对父类的方法进行再一次书写。简单来说就是将父类的方法再一次克隆到子类当中。
二:格式
在继承体系中,子类出现了和父类中一摸一样的方法声明,我们就称子类这个方法是重写的方法。
注意:每一次在子类重写的方法上面尽量都书写@Override,这个方式叫重写注解,这个方式可用于检验重写的父类方法是否正确,如果有红色波浪线报红,说明重写的方法语法错误。
class Animal{
//定义动物吃的东西
public void eat(){
System.out.println("动物在吃东西");
}
]
//定义狗继承动物类
class Dog extends Animal{
//重写父类中的eat的方法
@Override
public void eat(){
System.out.println("吃骨头");
}
}
三:方法重写的本质
在这里我用语言来描述一下:首先B类继承C类,然后A类继承B类。
注意:虚方法表里面就是就是非private ,非static ,非final的方法。
然后B类的虚方法表在C的基础上再添加自己类中的的虚方法。同样A类的虚方法表会在B的基础上再添加自己类中的的虚方法。
如果发生了重写,就会覆盖。
四:方法重写的注意事项和要求:
1.子类中重写的方法的名称和形参列表必须与父类中一致。
2.子类重写父类方法时,访问权限子类必须大于等于父类(default<protect<public)
3.子类重写父类方法时,返回值类型必须小于等于父类。
4.只有被添加到虚方法表中的方法才能被重写。
5.建议重写的方法尽量和父类保持一致。
标签:知识点,Java,继承,重写,子类,父类,方法,eat From: https://blog.51cto.com/u_15912723/6138641