我需要编写一个父类(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/