我对这段代码有疑问:
public class Inner {
static int a;
public static void main(String[] args) {
a = 0;
}
public static void g() {
this.a = 0;
}
}
`
为什么我们不能在静态方法中使用“this.a”,但我们可以使用“a”而不使用“this”?
答案 0 :(得分:1)
因为这个指向了该类的实例,所以在静态方法中您没有实例。
this 关键字引用该类的当前实例。静态成员函数没有 this 指针
您会注意到静态成员的定义是
使用 static 修饰符声明一个静态成员,该成员属于该类型本身而不是特定对象
这就是这个没有任何意义的原因。