Code_More
2016-01-07 13:58
System.out.println("外部类中的name:" + HelloWorld.this.name);
为什么不能是:System.out.println("外部类中的name:" + HelloWorld.name);?
this在这的作用是什么?
其实就是这个意思,由于这个语句是位于内部类的成员方法中,所以需要使用HelloWorld这个类去引用this这个关键字,这就相当于指向了HelloWorld这个类,再通过这个类名来访问这个类中的属性。this这里就相当于一个指向的作用,指向了HelloWorld这个类,不知道这样解释的清楚不
如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this
这里面的this表示外部类对象的引用,就不用先创建外部类的对象,再通过对象调用属性了,不能直接用HelloWorld.name调用。
HelloWorld.name只能访问外部的静态类,对于非静态类,要通过 “ new 外部类().成员”访问,此处的this应该就是这个作用吧
Java入门第二季 升级版
530559 学习 · 6091 问题
相似问题