1

我对一些实现有点困惑,这是我的问题,

  1. 两个用户可以登录系统。(用户A,B)
  2. 他们使用不同的用户名和密码同时登录

我们假设,Employee类有一个static变量调用age

用户 A 将年龄值更改为 45,然后用户 B 将年龄值更改为 28,然后都保存更改。

那么 A 和 B 的实际值是多少?

谢谢

4

3 回答 3

1

在这种情况下,A 和 B 没有年龄。班级有Employee年龄。静态字段与一个类相关联,而不是与该类的实例相关联。所以该Employee.age字段的值为 28。

在Java 教程中阅读有关静态成员的更多信息。

于 2012-11-03T12:05:04.700 回答
1

好吧,首先,“年龄”应该是一个实例变量,而不是静态变量——一个静态变量由一个类的所有实例共享。

在您给出的示例中,最后一个设置值是“坚持”的值,假设您在非集群环境中工作(即,shatic 变量在同一虚拟机中实例化的类中共享)。

于 2012-11-03T12:06:19.320 回答
0

静态变量只有一个副本由使用它的每个对象共享,而 实例变量对于不同的对象具有不同的副本

在您的情况下,变量是静态的,因此变量的第一个值是 45

然后被值 28 覆盖。

于 2012-11-03T13:13:35.090 回答