花灬瞳
2016-03-09 16:10
那为什么这里的HelloWorld.score不能用this.score代替呢?
在这里用了THIS的话,this的指向是不是就是Sinner,而不是外部类中的静态变量了。
首先考虑作用域,它是在当前的SInner类中,它默认先使用当前作用域下的成员变量,可以不加this,而此类是static类,它不可以直接调用外部类中的一般成员变量,但是可以调用外部类中的static成员变量,调用成员变量的方法是类名.static方法
this代表当前类的对象,若用this.score就是内部类Sinner里的score了,这样this 也就可以不写了,第二个输出中他省略了this. 而对于外部类HelloWorld中的成员 score 由于是静态的所以由类名直接调用..
不是,在静态内部类中是不允许使用this指向外部类属性的,普通内部类中才可以,在静态内部类中使用this关键字就只能指向静态内部类的属性而不是外部类的属性
在静态方法中不能使用this
Java入门第二季 升级版
530559 学习 · 6091 问题
相似问题