为了账号安全,请及时绑定邮箱和手机立即绑定

关于外部类和内部类的成员变量相同时的问题:

关于外部类和内部类的成员变量相同时的问题:

慕妹9722135 2016-08-14 08:35:10
//外部类HelloWorld 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:" + HelloWorld.this.age); } }      //测试成员内部类 public static void main(String[] args) {                  //创建外部类的对象 HelloWorld o = new HelloWorld ();                   //创建内部类的对象 Inner inn = o.new Inner();             ;                  //调用内部类对象的show方法 inn.show(); }然后我想问的是,在内部类的方法show中想要使用外部类的成员变量,上文是用HelloWorld.this.name 这个this指的是什么?可以替换成别的吗?
查看完整描述

3 回答

?
慕粉3203730

TA贡献7条经验 获得超12个赞

在这里,this是一个指向外部类的指针,是系统内部的一个潜在指针。

它相当于HelloWorld的一个属性,你可以用它进行外部类的成员访问。

由于这是系统默认的一个指针,所以你不能将它进行替换。

建议你去看卡看你C++中关于this指针的讲解,当然自行百度也可。


希望能帮到你,还请采纳!

查看完整回答
2 反对 回复 2016-08-14
?
一条小咸鱼

TA贡献457条经验 获得超255个赞


指的是外部类的一个实例对象(引用)。

应该不能。

查看完整回答
反对 回复 2016-08-14
  • 3 回答
  • 0 关注
  • 1408 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信