• 关于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修饰变量,变量是常量,必须赋初值。

  • 相关阅读:
    【算法学习笔记】树状数组
    【算法学习笔记】前缀和与差分
    【算法学习笔记】RMQ问题与ST表
    【算法学习笔记】倍增求最近公共祖先(LCA,非战斗机)
    使用Ajax Web.config配置
    GridView导出Excel
    [OFBiz]简介 二
    [OFBiz]开发 一
    JAVACC详解
    Ofbiz 10.04 + eclipse 安装与配置
  • 原文地址:https://www.cnblogs.com/zengfanye/p/9397163.html
Copyright © 2020-2023  润新知