内部类的访问修饰符

时间:2011-08-08 20:07:10

标签: java

  

可能重复:
  protected/public Inner Classes

我确信问题已经被提出,但我找不到一个,所以我会问......

我很好奇私有(受保护)和公共内部类之间的区别是什么。我可以使用外部类对象从包含类中使用它们。

public class A{
   private class B{

   }

   public static void main(String[] args){
     A a = new A();
     B b = a.new B();
   }
}

2 个答案:

答案 0 :(得分:7)

仍然可以在定义它的类中访问私有内部类。

如果您有其他课程,则B不可见:

public class C {
   public static void main(String[] args){
     A a = new A();
     B b = new B(); // compile error
   }
}

答案 1 :(得分:3)

实际上,你仍然在A类内部,因为main方法是A类的静态方法