【发布时间】:2015-03-31 19:37:57
【问题描述】:
除了我的 IDE 对我大喊我必须做的事情之外,我正在尝试了解为嵌套类分配什么可见性。这可能会变得任意复杂,所以我需要了解一般规则。
public class A {
private static class B {
public int foo; // accessible in A?
private int bar; // accessible in A?
public static class C { // accessible in A? everywhere?
}
private static class D { // accessible in A?
}
}
}
据我了解,修饰符似乎在“文件”级别解决,而不是在封装类级别。一旦一件事是私有的,它里面的任何东西都是私有的。
这个的实际机制或技术解释是什么?这是记录在某处还是我只需要阅读 JLS?
【问题讨论】:
-
仅限于同一个外部类。如果你将包本地类添加到同一个文件中,它就不能享受这种对私有成员的访问。
-
@AAA。以下任何答案是否有帮助,或者我们是否完全错过了您的问题的重点;)
标签: java visibility