具有序列号的 Java 对象

标签 java object

我需要编写一个父类(Plate)和一些子类(WoodenPlate、PorcelainPlate 等),每个子对象都应该有一个以 1 开头的序列号,然后是 2 等。 我应该在哪里存储这些信息?我可以只增加父对象中的计数器吗?

最佳答案

这就是您的 Child 类的外观:

class WoodenPlate extends Plate {
    private static int counter = 0;
    private int serialNumber;

    public WoodenPlate() {
        serialNumber = ++counter;
    }
}

然后,对于 WoodenPlate 的每个实例,您可以使用公共(public)访问器访问serialNumber

您可以像这样定义其余的 Child 类。其中每个都有一个static计数器和一个serialNumber字段。

<小时/>

如果您不希望每个 Child 都从 1 开始计数,而只是希望计数从上一个继续,无论子类是哪个实例化,那么您应该在 Parent 类中拥有这些字段:

class Parent {
    protected static int counter = 0;
    protected int count;

    public int getCount() {
        return count;
    }
}

然后从每个 Child 类中删除该字段。

关于具有序列号的 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14943468/

相关文章:

java - JMS Websphere MQ BytesMessge 和 TextMessage

java - 通过嵌套循环/调用的异常传播

javascript - 在设置状态之前 react 状态分配

java - 空对象引用工具栏android

javascript - 删除对象属性 (VueJs)

java - 如何使用 HttpURLConnection 在 Java 中等待 Expect 100-Continue 响应

java - Android SQLite错误: (1) near "Create": syntax error

java - 不可编辑的 JEditorPane 使用 Enter 键

javascript - 循环遍历 javascript 嵌套对象返回未定义

javascript - JavaScript 中惯用的 `Number` 对象到数字文字的转换