【发布时间】:2014-12-10 11:50:36
【问题描述】:
我有两个类一个是:
public class Emp {
String name;
static int bankVault;
}
另一个是:
public class TestEmp {
public static void main(String[] args) {
Emp emp1 = new Emp();
Emp emp2 = new Emp();
emp1.bankVault = 10;
emp2.bankVault = 20;
System.out.println(emp1.bankVault);
System.out.println(emp2.bankVault);
System.out.println(Emp.bankVault);
}
}
输出是:
20
20
20
这是因为static 这个词吗?第一个System.out.println不应该返回10吗?
【问题讨论】:
-
这是展示“静态”如何工作的示例。你只有一个bankValault。所以你总是得到相同的价值
-
参见 Oracle 的 Java 教程中的 Understanding Class Members。
-
10 将被 20 覆盖,即具有最新值。始终可以将一个值设置为静态字段。
标签: java