Java:多对象变量(静态)

Java:多对象变量(静态),第1张

Java:多对象变量(静态

评论转为答案:

您走在正确的轨道上。

当前,您创建的每个工作人员都会增加您的静态成员。这意味着它将不保存工作人员的ID(情况并非如此,因为静态变量属于 而不是单个 实例
),而是保存到目前为止创建 的工作人员总数

固定

  • 将您的静态成员重命名为类似的名称,
    numWorkers
    以反映其功能
  • 介绍另一个(非静态)成员,
    id
    (或
    workerId
    如果您愿意)
  • 更改
    workId++
    id = ++numWorkers

为什么?

现在,每个工人都有自己的

id
。您可以通过查看当前已创建的工作人数(
numWorkers
)进行分配,将该值加1,然后将其分配给
id
。这样,您的第一个工作人员的ID将为
1
,第二个工作人员的ID
2
以此类推。
numWorkers
始终保留创建的工作人员数量,这是您分发的最后一个ID。


放在一起

由于这个问题引起了很多反对(=兴趣),我将上述内容总结为一个蓝图:

public class Worker {    private static int numWorkers; // Number of Worker objects created    private int id;     // Individual ID of a worker    public Worker() {        id = ++numWorkers; // Will be 1 for the first, 2 for the second, ...    }    public int getID() {        return id;    }    public static int getNumWorkers() {        return numWorkers;    }}

请注意,在Java中,你不需要初始化原始类型

int
0
,因为这是在默认值的一个
int
。当然,无论如何都很好-
明确表示永远不会有伤害。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5506935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存