由于我们不能在静态方法中使用this
,也不能使用非静态变量,那么为什么我们可以在静态方法中使用使用非静态变量的对象呢?
这就是我的意思:
public int x;
public int y;
public Account(int a, int b) {
this.x = a;
this.y = b;
}
public static void Swap(Account acc) {
int holder;
holder = acc.x;
acc.x = acc.y;
acc.y = holder;
}
所以
Swap()
可以正常工作,即使对象内的变量不是静态的。我不明白这部分内容。希望能得到一些帮助。TIA!
x
和访问acc.x
有什么区别?如果Java不是静态的,Java会阻止你引用哪个变量?acc
是静态的吗? - ernest_k