子类是不是具有父类的所有属性和方法? [复制]
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 节)
关于继承的重要部分,关于private
、public
和protected
成员:
声明为私有的类的成员不会被该类的子类继承。**
只有声明为 protected 或 public 的类的成员才能被子类继承,该子类在声明该类的包之外的包中声明。
构造函数、静态初始化器和实例初始化器不是成员,因此不会被继承。
【讨论】:
谢谢!依据是什么? 不,子类不继承私有方法和字段。我手头没有 JLS,但它非常明确地说“私有字段不被继承”等。 这里是,JLS sec 8.2:“声明为私有的类的成员不会被该类的子类继承。” @Andy Turner,谢谢,查找并更新了答案 @AndyTurner 我想找问题,有类似的问题。因为我英文不好,想好好看看,再讨论。非常感谢。click here【参考方案2】:子类不能访问父类private
属性(字段)和方法。它只能访问public
、protected
和default
属性和方法。
【讨论】:
谢谢!子类是否继承所有字段和方法?还是一部分? 所有非私有的字段和方法都可以在子类中访问。请注意,我们在这里讨论的是可访问性,而不是方法覆盖。 我知道可访问性,我只想知道私有字段和方法是否被继承 我想找问题,有类似的问题。因为我英文不好,想好好看看,再讨论。非常感谢link以上是关于子类是不是具有父类的所有属性和方法? [复制]的主要内容,如果未能解决你的问题,请参考以下文章