天天看点

java语言基础(47)——成员内部类访问外部类的成员(类名.this范围限定)

内部类访问外部类的成员可以直接访问,但是如果内部类和外部类有同名的成员时我们就要加以区分才可以得到我们想要的结果。

例如:

class Outer
{
    public int num = 10;
    class Inner
    {
        public int num = 20;
        public void show(){
            int num = 30;
            // 要求依次输出30  20 10
          System.out.println(num);
          System.out.println(this.num);
          //System.out.println(new Outer().num);
          System.out.println(Outer.this.num);
        }
         
    }
}

class InnerClassTest
{
    public static void main(String[] args){
      
      Outer.Inner oi = new Outer().new Inner();
      oi.show();// 输出  30  20  10
       
    }
}      

继续阅读