java 内部类 this关键字的问题 5

如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用this关键字。问题:HelloWorld.this.... 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。
问题:HelloWorld.this.name 的this这么理解 当前对象的引用?
public class HelloWorld{

//外部类的私有属性name
private String name = "imooc";

//外部类的成员属性
int age = 20;

//成员内部类Inner
public class Inner {
String name = "爱慕课";
//内部类中的方法
public void show() {
System.out.println("外部类中的name:" + HelloWorld.this.name );
System.out.println("内部类中的name:" + name );
System.out.println("外部类中的age:" + age);
}
}

//测试成员内部类
public static void main(String[] args) {

//创建外部类的对象
HelloWorld o = new HelloWorld ();

//创建内部类的对象
Inner inn = o.new Inner() ;

//调用内部类对象的show方法
inn.show();
}
}
展开
 我来答
alvis666
推荐于2017-11-27 · TA获得超过396个赞
知道小有建树答主
回答量:392
采纳率:0%
帮助的人:444万
展开全部
1this表示引用当前类 ,跟对象没关系,不存在对对象的引用
2内部类内部用this必然是引用的内部类
3内部类内想引用外部类就用你说的那个 外部类名.this ,当然还有其他好多方法
wang_wenshuai
2015-06-02 · TA获得超过473个赞
知道小有建树答主
回答量:149
采纳率:100%
帮助的人:154万
展开全部
原理:当需要在内部类的内部访问外部类实例时,可以将代表外部类的实例的this关键字作为一个参数传递给内部类,这样就可以实现在内部类的内部访问外部类实例,其实质还是在内部类中用外部类的实例去访问自身的方法而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式