我对一些实现有点困惑,这是我的问题,
- 两个用户可以登录系统。(用户A,B)
- 他们使用不同的用户名和密码同时登录
我们假设,Employee
类有一个static
变量调用age
用户 A 将年龄值更改为 45,然后用户 B 将年龄值更改为 28,然后都保存更改。
那么 A 和 B 的实际值是多少?
谢谢
我对一些实现有点困惑,这是我的问题,
我们假设,Employee
类有一个static
变量调用age
用户 A 将年龄值更改为 45,然后用户 B 将年龄值更改为 28,然后都保存更改。
那么 A 和 B 的实际值是多少?
谢谢
在这种情况下,A 和 B 没有年龄。班级有Employee
年龄。静态字段与一个类相关联,而不是与该类的实例相关联。所以该Employee.age
字段的值为 28。
在Java 教程中阅读有关静态成员的更多信息。
好吧,首先,“年龄”应该是一个实例变量,而不是静态变量——一个静态变量由一个类的所有实例共享。
在您给出的示例中,最后一个设置值是“坚持”的值,假设您在非集群环境中工作(即,shatic 变量在同一虚拟机中实例化的类中共享)。
静态变量只有一个副本由使用它的每个对象共享,而 实例变量对于不同的对象具有不同的副本
在您的情况下,变量是静态的,因此变量的第一个值是 45
然后被值 28 覆盖。