[英]Variable access to private class
我今天早些时候遇到过这样的代码:
public class MyThing {
ArrayList<String> myStrings = new ArrayList<String>();
MyPrivateClass mpc = new MyPrivateClass();
public void DoWork() {
mpc.DoStuff();
}
class MyPrivateClass {
void DoStuff() {
myStrings.add("Test");
}
}
}
这如何或为什么起作用? MyPrivateClass
如何访问myStrings
实例而不引用创建它的类?
之所以称为“内部类”,是因为它是一个非static
嵌套类。 内部类具有(有限)对其包含实例的访问权限,有关详细信息, 请参见此Oracle示例 。 更多关于嵌套类的普通类在这里 。
你在说嵌套类
A nested class is a member of its enclosing class. Non-static nested classes (inner classes)
have access to other members of the enclosing class, even if they are declared private.
您的主类是MyThing,然后您指定可以在整个类MyTHing中使用的变量。 由于您是在父类中创建一个类,因此内部类始终可以使用父类的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.