【发布时间】:2013-02-14 01:47:22
【问题描述】:
假设有一个名为MyOuter 的类,它由一个名为MyInner 的简单内部类组成。在尝试了解内部类如何工作时,我试图了解外部类私有成员变量是否可以从内部类本身访问。
class MyOuter {
private int x = 7;
// inner class definition
class MyInner {
public void seeOuter() {
System.out.println("Outer x is " + x);
}
} // close inner class definition
} // close outer class
根据我的分析,前面的代码是完全合法的。请注意,内部类确实在访问外部类的私有成员。没关系,因为内 类也是外部类的成员。所以就像外部类的任何成员一样 (例如,一个实例方法)可以访问外部类的任何其他成员,私有 与否,内部类(也是成员)也可以这样做。
请告知我的理由是否正确。
【问题讨论】:
-
正确,但您可以询问您的编译器。
标签: java private-members