具有序列号的Java对象

具有序列号的Java对象,java,object,Java,Object,我需要编程一个父类(Plate)和一些子类(WoodenPlate、PorcelainPlate等),每个子对象都应该有一个序列号,从1开始,然后是2,等等。 我应该在哪里存储这些信息?我可以在父对象中增加一个计数器吗?这就是您的子类的外观: class WoodenPlate extends Plate { private static int counter = 0; private int serialNumber; public WoodenPlate() {

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

这就是您的
子类的外观:

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

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

您可以像这样定义
子类的其余部分。它们中的每一个都有一个
静态
计数器和一个
序列号
字段


如果不希望从每个
子类的
1
开始计数,而只希望从上一个开始继续计数,而不管实例化了哪个子类,则应在
父类中包含这些字段:

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

    public int getCount() {
        return count;
    }
}

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

子类中需要有一个静态计数器。哪些信息?“当前”序列号?是的,当前序列号。如果我把计数器放在子类中,它不会在所有实例中递增,或者会递增?例如,新的木板会有序列号1,但新的瓷器板也会有序列号1而不是2…是的,这非常适合为一个子类的对象编号,但我需要的是所有子类的编号太多。:/所以当我叫新孩子a()时;它应该有count 1和new childB();它应该有价值2@Ragnr. 我以为你想要每个孩子,计数应该从
1
开始。如果您想让您的
计数像
1、2、3
一样继续,而不管实例化了哪个子类,那么您需要在您的
父类中包含这些字段。很抱歉不清楚,非常感谢您的帮助。谢谢你的时间