方法覆写

作者: 熊与花 | 来源:发表于2018-08-22 14:46 被阅读0次

子类与父类一旦产生了继承关系之后,实际上子类 会继承父类中的全部定义,但是这里面也有可能出现不合适的场景。如果发现父类中设计不足并且需要保留父类中的方法或者属性名称的情况就会发生覆写。

方法覆写:

当子类定义了与父类方法名称相同,参数类型以及个数完全相同的时候,就称为方法的覆写。

范例:观察方法覆写

覆写

由于现在实例化的是子类对象,所以此时所调用的方法一定是被子类所覆写过的方法,如果该方法没有被覆写过,那么将调用父类中提供的方法,覆写的意义在于优化父类的功能。

覆写意义:

在子类进行方法覆写之后如果要想继续调用父类中的方法,那么就必须使用"super.方法()"

只要是在子类中调用父类方法的时候一定要在方法前追加“super.方法()”

super

方法覆写限制:被覆写的方法不能够拥有比父类方法更严格的访问控制 权限 

对于访问控制权限:public  >default > private,private 权限最小,如果你此时父类中的方法使用的是default权限定义,那么子类定义该方法时只能够使用public  、default定义,如果父类中的方法使用了public定义,那么子类中的方法只能够使用public定义。

范例:观察错误的覆写

error

private方法不存在覆写的情况,因为private父类方法不可以访问,对于子类来说,是一个不存在的方法,所以子类相当于新建了一个和父类重名的方法。

在以后的实际开发中,95%的情况下都是使用public,所以要覆写的情况下也考虑使用public

面试题:请解释override与overloading的区别?overloading返回值是否相同?

在进行方法重载时并没有对返回类型做出限定,但是好的习惯应该保持返回类型的一致

相关文章

  • 方法覆写

    子类与父类一旦产生了继承关系之后,实际上子类 会继承父类中的全部定义,但是这里面也有可能出现不合适的场景。如果发现...

  • 基础

    - 子类可以覆写超类的方法,但不能删除域或方法。就是说你不覆写也没问题的。 - 接口类必须覆写接口的方法 - 子类...

  • Override方法参数覆写

    方法返回值参数可以通过继承的方式覆写

  • 安卓EditText多行输入时,设置imeOptions失效问题

    解决方法:继承EditText类,覆写onCreateInputConnection方法,如下:

  • 改善Java程序建议6

    建议6:覆写变长方法也循规蹈矩 覆写必须满足的条件: 重写方法不能缩小访问权限。 参数列表必须与重写方法相同。 返...

  • JAVA:类的equals方法覆写

    equals方法覆写## equals方法是Object超类的一个方法,由于超类是所以类的父类,自定义类均可覆写e...

  • Java 方法覆写和重载

    /** Java方法的使用 @author bo */ public class JavaMet { }publi...

  • 覆写

    概念:如果子类重写了父类:属性的覆盖与方法的覆写 方法的复写:子类定义了与父类方法名称,参数类型以及个数完全相同的...

  • 覆写

  • 覆写

    现在已经清楚了继承的基本概念,那么此时就有可能出现这样的一种情况,如果子类现在定义了与父类相同的方法或者是属性的时...

网友评论

    本文标题:方法覆写

    本文链接:https://www.haomeiwen.com/subject/lebfiftx.html