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

外部类的私有变量在内部类里为什么要这样使用?而默认变量就直接使用。(下划线加粗部分)

//外部类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:" + age);

}

}

    

//测试成员内部类

public static void main(String[] args) {

        

        //创建外部类的对象

HelloWorld o = new HelloWorld (); 

        

        //创建内部类的对象

Inner inn = o.new Inner();

        

        //调用内部类对象的show方法

inn.show();

}

}


正在回答

3 回答

在普通内部类里,如果内部类的成员变量和外部类的成员变量相同,内部类访问外部类的成员变量要用this关键字,而age变量只属于外部类,并不涉及同名的问题,所以可以直接调用。


1 回复 有任何疑惑可以回复我~
#1

阿狸小裤衩 提问者

非常感谢!朋友
2016-04-16 回复 有任何疑惑可以回复我~

内部类和外部类都定义了name变量   默认访问的是内部类中的name变量

1 回复 有任何疑惑可以回复我~

内部类和外部类都定义了name变量 默认访问的是内部类中的 

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

外部类的私有变量在内部类里为什么要这样使用?而默认变量就直接使用。(下划线加粗部分)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信