通过超级[Java]访问超类的私有成员

时间:2019-03-29 20:03:58

标签: java inheritance super access-modifiers private-members

嵌套类当然可以直接访问 rounding 类的私有成员,但不能直接访问其超类的私有成员,因为私有成员是不继承的。 / p>

示例1:

class A {
    private void x() {}
}
class B extends A {
    private void y() { super.x(); }  // does not work
}

示例2:

让我们使用示例1中的代码,其中A和B代替内部类。现在可以了...

class Wrapper {
    class A {  // could also be static
        private void x() {}
    }
    class B extends A {
        private void y() { super.x(); }  // does work!!!
//      private void y() { x(); }  // still does not work
    }
}

任何人都可以解释,为什么当类在另一个类中时,可以通过使用private关键字来访问直接超类的super个成员(仍然不是间接成员),哪里是不可能的?

0 个答案:

没有答案