java静态变量多个对象_Java:多对象变量(静态)

评论转为答案:

你走在正确的轨道上.

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

固定

>将静态成员重命名为numWorkers,以便反映它的作用

>介绍另一个(非静态)成员,id(如果你愿意,还可以是workerId)

>将workId更改为id = numWorkers

为什么?

现在,每个工人都有自己的身份.您可以通过查看当前创建的工作人员数(numWorkers)来分配它,将该值递增1,然后将其分配给id.这样,你的第一个工人的ID将是1,第二个将是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中,您不需要将primitive type int初始化为0,因为这是int的default value.当然,无论如何都可以做到这一点 – 明确地说它永远不会伤害.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值