问答详情
源自:7-7 Java 中的静态内部类

this的用法

那为什么这里的HelloWorld.score不能用this.score代替呢?

在这里用了THIS的话,this的指向是不是就是Sinner,而不是外部类中的静态变量了。


提问者:花灬瞳 2016-03-09 16:10

个回答

  • 路漫漫其修远兮xxx
    2016-03-18 10:52:13

    首先考虑作用域,它是在当前的SInner类中,它默认先使用当前作用域下的成员变量,可以不加this,而此类是static类,它不可以直接调用外部类中的一般成员变量,但是可以调用外部类中的static成员变量,调用成员变量的方法是类名.static方法

  • 美丽赵
    2016-03-12 19:53:49

    this代表当前类的对象,若用this.score就是内部类Sinner里的score了,这样this 也就可以不写了,第二个输出中他省略了this.   而对于外部类HelloWorld中的成员 score 由于是静态的所以由类名直接调用..

  • 跳跃的鱼
    2016-03-09 20:16:33

    不是,在静态内部类中是不允许使用this指向外部类属性的,普通内部类中才可以,在静态内部类中使用this关键字就只能指向静态内部类的属性而不是外部类的属性

  • Robin_ZHAO
    2016-03-09 16:40:26

    在静态方法中不能使用this