【发布时间】:2017-05-16 01:13:33
【问题描述】:
子类是否拥有父类的所有变量和方法?包括父类的Private属性和方法?
或者子类是否只有父类的可访问变量和方法?喜欢公共、默认、保护?
【问题讨论】:
-
我的问题会被删除吗?
标签: java
子类是否拥有父类的所有变量和方法?包括父类的Private属性和方法?
或者子类是否只有父类的可访问变量和方法?喜欢公共、默认、保护?
【问题讨论】:
标签: java
来自Java Language Specification, 8.2:
一个类类型的成员都有以下几种:
从其直接超类(第 8.1.4 节)继承的成员,但在没有直接超类的 Object 类中除外
从任何直接超接口继承的成员 (§8.1.5)
在类主体中声明的成员(第 8.1.6 节)
关于继承的重要部分,关于private、public和protected成员:
声明为私有的类的成员不会被该类的子类继承。**
只有声明为 protected 或 public 的类的成员才能被子类继承,该子类在声明该类的包之外的包中声明。
构造函数、静态初始化器和实例初始化器不是成员,因此不会被继承。
【讨论】:
子类不能访问父类private 属性(字段)和方法。它只能访问public、protected 和default 属性和方法。
【讨论】: