具有序列号的Java对象
我需要编程一个父类(Plate)和一些子类(WoodenPlate、PorcelainPlate等),每个子对象都应该有一个序列号,从1开始,然后是2,等等。具有序列号的Java对象,java,object,Java,Object,我需要编程一个父类(Plate)和一些子类(WoodenPlate、PorcelainPlate等),每个子对象都应该有一个序列号,从1开始,然后是2,等等。 我应该在哪里存储这些信息?我可以在父对象中增加一个计数器吗?这就是您的子类的外观: class WoodenPlate extends Plate { private static int counter = 0; private int serialNumber; public WoodenPlate() {
我应该在哪里存储这些信息?我可以在父对象中增加一个计数器吗?这就是您的
子类的外观:
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
一样继续,而不管实例化了哪个子类,那么您需要在您的父类中包含这些字段。很抱歉不清楚,非常感谢您的帮助。谢谢你的时间