1. 程式人生 > >【Java學習筆記】靜態巢狀類和內部類

【Java學習筆記】靜態巢狀類和內部類

public class Outer {   
        int outer_x = 100;  
    class Inner{  
      public int y = 10;  
      private int z = 9;  
      int m = 5;  
      public void display(){  
        System.out.println("display outer_x:"+ outer_x);  
      }  
      private void display2(){  
        System.out.println("display outer_x:"+ outer_x);  
      }  
    }  
    void test(){  
      Inner inner = new Inner();  
      inner.display();  
      inner.display2();  
      //System.out.println("Inner y:" + y);//不能訪問內部內變數  
      System.out.println("Inner y:" + inner.y);//可以訪問  
      System.out.println("Inner z:" + inner.z);//可以訪問  
      System.out.println("Inner m:" + inner.m);//可以訪問  
      InnerTwo innerTwo = new InnerTwo();  
      innerTwo.show();  
    }  
    class InnerTwo{  
      Inner innerx = new Inner();  
      public void show(){  
        //System.out.println(y);//不可訪問Innter的y成員  
        //System.out.println(Inner.y);//不可直接訪問Inner的任何成員和方法  
        innerx.display();//可以訪問  
        innerx.display2();//可以訪問  
        System.out.println(innerx.y);//可以訪問  
        System.out.println(innerx.z);//可以訪問  
        System.out.println(innerx.m);//可以訪問  
      }  
    }  
    public static void main(String args[]){  
      Outer outer = new Outer();  
      outer.test();  
    }  
  }