• 关于java子类继承以及final问题总结


    (1)子类和父类如果在同一个包内,则子类可以继承父类的除private以外的所有成员变量和方法,并且权限不变;

    (2)子类和父类如果不在同一个包内,则子类可以继承父类的public和protected权限的成员变量和方法,不能继承友好型和private;

    (3)protected 的进一步说明:

    若有一个A类,B类是A类的子类,C类是B类的子类,则C类继承了A类的protected的成员变量和方法;

    若C类本身创建一个对象,可以用这个对象访问继承来的或者自己定义的protected成员变量和方法;

    若在其他类里创建一个对象:对于C类自己定义的成员变量和方法,只要这个其他类和D类在同一个包里,那么就可以通过D类创建的对象访问自定义的protected;

    对于C类继承自父类的protected,要追溯到“祖先类”A类,若这个其他类和A类同包,则可以通过对象访问继承来的protected。

    (4)隐藏和重写:子类的成员变量和父类的成员名字相同的时候,继承自父类的成员变量被隐藏;通过重写继承自父类的方法可以隐藏继承自父类的方法;隐藏后想要调用继承自父类的方法用关键字super.子类重写父类方法,访问权限可以增加或不变,但绝不能减低。

    (5)final关键字:final修饰类,类不能被继承;final修饰方法,方法不能重写;final修饰变量,变量是常量,必须赋初值。

  • 相关阅读:
    hash表及带注释插头dp
    NOIP模拟测试9「随·单·题」
    静态点分治总结
    NOIP模拟测试8「匹配·回家」
    NOIP模拟测试8「寿司」
    「PKUWC2018」Slay the Spire
    矩阵快速幂总结
    SQL中的object_id函数
    SQL数据库Replace的用法
    SQL批量提交修改业务
  • 原文地址:https://www.cnblogs.com/zengfanye/p/9397163.html
Copyright © 2020-2023  润新知