【问题标题】:Can a subclass access parent class private members if both the classes are in the same package如果两个类都在同一个包中,子类可以访问父类私有成员吗
【发布时间】:2018-04-04 00:55:42
【问题描述】:

我正在阅读 a Java Doc ,上面写着

子类继承其所有公共和受保护成员 parent,无论子类在哪个包中。如果子类是 在与其父级相同的包中,它还继承了 父级的包私有成员。您可以使用继承的 成员按原样替换、隐藏或用新成员补充 成员

它说如果父类的私有成员在同一个包中,子类可以访问它们。我试过了,我无法访问子类中父类的私有成员

【问题讨论】:

  • 它说的是package-private 而不是private

标签: java inheritance


【解决方案1】:

不,它说

如果子类与其父类在同一个包中,它也继承父类的package-private成员

package-private(无修饰符)与privateprivate 修饰符)不同。有关差异,请参阅https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

【讨论】:

    【解决方案2】:

    package-privateprivate 成员之间存在差异。私有成员除了类本身之外的任何人都不能访问。但是包私有成员是那些 private 仅限于该特定包的成员,并且可以由该特定包内的任何成员访问

    【讨论】:

      猜你喜欢
      • 2014-05-30
      • 2013-07-15
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      • 2016-02-21
      • 1970-01-01
      • 2013-05-23
      • 2010-09-14
      相关资源
      最近更新 更多