课程
/后端开发
/Java
/Java入门第二季 升级版
那为什么这里的HelloWorld.score不能用this.score代替呢?
在这里用了THIS的话,this的指向是不是就是Sinner,而不是外部类中的静态变量了。
2016-03-09
源自:Java入门第二季 升级版 7-7
正在回答
首先考虑作用域,它是在当前的SInner类中,它默认先使用当前作用域下的成员变量,可以不加this,而此类是static类,它不可以直接调用外部类中的一般成员变量,但是可以调用外部类中的static成员变量,调用成员变量的方法是类名.static方法
this代表当前类的对象,若用this.score就是内部类Sinner里的score了,这样this 也就可以不写了,第二个输出中他省略了this. 而对于外部类HelloWorld中的成员 score 由于是静态的所以由类名直接调用..
不是,在静态内部类中是不允许使用this指向外部类属性的,普通内部类中才可以,在静态内部类中使用this关键字就只能指向静态内部类的属性而不是外部类的属性
在静态方法中不能使用this
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
2 回答this的用法
3 回答this用法
2 回答this的使用方法
1 回答this指针的用法
2 回答在调用类的时候this的用法