本帖最后由 张然龙 于 2014-4-29 22:26 编辑
首先 ,我要说的是上节课你没看明白 ,建议你重头看。然后我给你解释下为什么
Inner是内部类 ,是存在于Outer的内部,它的特性就是访问外部类的属性不需要调用对象。
而为了区分你调用的x变量,所以才将格式声明为Outer.this.x 。这只是格式,不必纠结。
以下代码祝你理解内部类的访问规则↓
- class Outer
- {
- int x=1;
- void method()
- {
- class Inner
- {
- int x=2;
- void function()
- {
- int x=3;
- System.out.println(Outer.this.x);//打印结果是 : 1
- System.out.println(this.x);//打印结果是 : 2
- System.out.println(x);//打印结果是 :3
- }
- }
- new Inner().function();
- }
- }
- class Demo2
- {
- public static void main(String args[])
- {
-
- new Outer().method();
- }
- }
复制代码
|