当前位置: 代码迷 >> J2SE >> 请教这里的Outer.this.a 应该怎么理解?
  详细解决方案

请教这里的Outer.this.a 应该怎么理解?

热度:193   发布时间:2016-04-24 15:33:16.0
请问这里的Outer.this.a 应该如何理解???
class   Outer{
  int   a=10;
 
class   Inner{
static   final   int   a=100;
void   f(){
System.out.println(Inner.a);

System.out.println(Outer.this.a);
}
}
}
public   class   Member3{
public   static   void   main(String[]   args){

Outer   out=new   Outer();
Outer.Inner   in=out.new   Inner();
in.f();
}
}


输出:10;

请问这里的在内部类class   Inner中调用成员int   a;  
Outer.this.a   这句话该如何理解???。有点看不明白。。。


------解决方案--------------------
Outer.this.a
是调用Outer类的实例的变量a
也就是访问的第二行的那个 int a=10;
------解决方案--------------------
内部类可以访问包含它的类的所有成员
  相关解决方案