美文网首页
【JAVA】Java中的继承

【JAVA】Java中的继承

作者: Pino_HD | 来源:发表于2018-05-09 19:48 被阅读0次

    0x01 子类可以使用父类的哪些成员

    1. 父类的public,子类可以继承
    2. protected也可以继承,不同包也能继承
    3. 如果子类与父类在同一个包中,子类可以继承父类的默认成员,但是不能继承不同包中的父类的默认成员
    4. private是不能继承的
    5. 父类的构造器,子类也不能继承,因为构造器必须跟当前类名相同

    0x02 方法的覆盖

    子类扩展了父类,就获得了父类的方法和成员,如果父类有些方法不适用于子类,可以重新定义这个方法,叫做方法的覆盖。

    • 覆盖的原则
      1. 覆盖的方法必须跟父类当中的方法名相同
      2. 返回类型要相同
      3. 访问权限不能比父类小

    0x03 继承的内存分析

    在类加载字节码时,会先判断有没有父类,如果有,会先把父类加载成字节码放到内存中,然后再把自己加载到内存中

    0x04 this和super的对比

    1. super()和this()构造方法都必须放在第一行
    2. super和this不能同时一起使用
    3. 子类的构造方法中默认都有一个super(),尽管没有显示出来。

    0x05 隐藏

    1. 子类跟父类有相同的变量名,叫做隐藏,子类通过"super.字段"来访问父类的成员
    2. 子类跟父类当中有相同的静态方法,称方法的隐藏
    3. 本垒字段隐藏:方法参数和本类字段名相同,使用"this.字段"来解决

    相关文章

      网友评论

          本文标题:【JAVA】Java中的继承

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