java中 为什么访问外部类的属性 必须加this?

来源:7-6 Java 中的成员内部类

lcmao

2015-07-03 18:02

第15句:System.out.println("外部类中的name:" + HelloWorld.name ); 这样写HelloWorld.name已经清晰的表明是外部类的name属性了, 为什么必须加上this哪?(HelloWorld.this.name)

写回答 关注

4回答

  • 永远的蓝天
    2015-08-29 20:21:43

    那可不可以直接写成“this.name”呢?

    痛仰乐队

    不可以,如果你写成this.name会认为你调用的是内部类Inner的当前对象,而不是外部类HelloWorld的当前对象

    2016-04-23 13:01:22

    共 1 条回复 >

  • lcmao
    2015-07-25 10:52:45

    还是不明白啊

  • 无敌的大鹏鸟
    2015-07-24 10:54:29

    说得很对,确实如此

  • 郭培雷
    2015-07-04 12:09:30

     我认为HelloWorld只是一个类,但类里面属性的值并不是这个类本身的,而是这个类对象的, HelloWorld.this则代表这个类的对象,所以可以调用类中的对象。若属性值为静态的,则 HelloWorld可以直接进行调用。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

531108 学习 · 6318 问题

查看课程

相似问题