我正在阅读Java编程入门,关于这个主题没有很好的解释,这让我想知道为什么有人应该在java中使用私有内部类而不是使用公共内部类。
它们都只能由外部类使用。
发布于 2013-12-14 01:18:08
您的索赔They both can be used only by the outer class.错误:
public class A {
private class B {}
public class C {}
public C getC() {
return new C();
}
public B getB() {
return new B();
}
}
public class Tryout {
public static void main(String[] args) {
A a = new A();
A.B b = a.getB(); //cannot compile
A.C c = a.getC(); //compiles perfectly
}
}请注意,您实际上可以在另一个类中拥有一个A.C实例,并将其引用为C (包括它的所有公共声明),但不能用于A.B。
由此你可以理解,对于内部类,你应该使用私有/公共修饰符,就像你通常使用它一样。
https://stackoverflow.com/questions/20572181
复制相似问题