详述重写

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 


版权声明:本文为haoshangxia原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。