子类是不是具有父类的所有属性和方法? [复制]

Posted

技术标签:

【中文标题】子类是不是具有父类的所有属性和方法? [复制]【英文标题】:Do subclasses have all the properties and methods of the parent class? [duplicate]子类是否具有父类的所有属性和方法? [复制] 【发布时间】:2017-05-16 01:13:33 【问题描述】:

子类是否拥有父类的所有变量和方法?包括父类的Private属性和方法?

或者子类是否只有父类的可访问变量和方法?喜欢公共、默认、保护?

【问题讨论】:

我的问题会被删除吗? 【参考方案1】:

来自Java Language Specification, 8.2:

一个类类型的成员都有以下几种:

从其直接超类(第 8.1.4 节)继承的成员,但在没有直接超类的 Object 类中除外

从任何直接超接口继承的成员 (§8.1.5)

在类主体中声明的成员(第 8.1.6 节)

关于继承的重要部分,关于privatepublicprotected成员:

声明为私有的类的成员不会被该类的子类继承。**

只有声明为 protected 或 public 的类的成员才能被子类继承,该子类在声明该类的包之外的包中声明。

构造函数、静态初始化器和实例初始化器不是成员,因此不会被继承。

【讨论】:

谢谢!依据是什么? 不,子类不继承私有方法和字段。我手头没有 JLS,但它非常明确地说“私有字段不被继承”等。 这里是,JLS sec 8.2:“声明为私有的类的成员不会被该类的子类继承。” @Andy Turner,谢谢,查找并更新了答案 @AndyTurner 我想找问题,有类似的问题。因为我英文不好,想好好看看,再讨论。非常感谢。click here【参考方案2】:

子类不能访问父类private 属性(字段)和方法。它只能访问publicprotecteddefault 属性和方法。

【讨论】:

谢谢!子类是否继承所有字段和方法?还是一部分? 所有非私有的字段和方法都可以在子类中访问。请注意,我们在这里讨论的是可访问性,而不是方法覆盖。 我知道可访问性,我只想知道私有字段和方法是否被继承 我想找问题,有类似的问题。因为我英文不好,想好好看看,再讨论。非常感谢link

以上是关于子类是不是具有父类的所有属性和方法? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中,子类将继承父类的所有属性和方法吗?为啥?

JAVA子类继承父类后是不是有父类的属性

第三次发了,反射如何获取子类属性的值

Eclipse里面怎么看父类都有哪些方法和属性?

JAVA中,子类将继承父类的所有属性和方法么~?为啥?

Java基础随记