InnerAccessTest2.java



/** innerクラスのアクセス制御を実験するクラス */
class AccessedInnerClass {

     public class PublicClass {
     }   

     private class PrivateClass {
     }   

     public PublicClass pubpub;
     public PrivateClass pubpri;
     private PublicClass pripub;
     private PrivateClass pripri;
}

public class InnerAccessTest2 {

     public static void main( String argv[] ) {
          AccessedInnerClass test
                  = new AccessedInnerClass();
          test.pubpub = test.new PublicClass();   // 問題ない
          test.pubpri = test.new PrivateClass();  // 右辺にエラー 
          test.pripub = test.new PublicClass();   // 左辺にエラー 
          test.pripri = test.new PrivateClass();  // 二重にエラー
     }   
}