1、什么是重写
重写即重新改写,是为了将一个已有的事物进行某些改变以适应新的要求
2、为什么要重写
方法使用的是父类的eat方法,子类继承自父类的eat方法已经不能“准确描述子类自身的行为”,此时就需要用到重写
注:如果父类中方法被final修饰,则该方法无法被重新改写,如
提醒:Java为了标注一个方法是重写后的方法,使用@Override
如果必须调用父类中方法:(1)、子类非静态方法或代码块,使用super
(2)、如果是静态代码块或静态方法,必须创建父类对象
3、怎么重写
1、方法名相同,参数列表相同(个数和数据类型相同)
2、访问权限由大到小的顺序
public protected friendly(默认的,友好的) private
重写后的方法的访问权限只能比父类的大或者相同,如
错误范例
3、返回值
(1)、如果父类方法返回值为void或基本数据类型(byte,short,int,long,float,doube,char,boolean),则子类重写后的方法返回值必须和父类相同
(2)、 如果父类方法返回值为引用类型,则子类重写后的方法返回值要么和父类相同,要么是父类返回值的子类,注意不能是基本数据类型
4、父类中static方法不能被重写
5、子类重写后的方法不能加static