Java 和继承的静态成员
2022-09-02 03:51:34
假设我有以下类:
class Parent
{
private int ID;
private static int curID = 0;
Parent()
{
ID = curID;
curID++;
}
}
和以下两个子类:
class Sub1 extends Parent
{
//...
}
和
class Sub2 extends Parent
{
//...
}
我的问题是,这两个子类共享来自父类的同一静态 curID 成员,而不是具有不同的子类。
所以如果我这样做:
{
Sub1 r1 = new Sub1(), r2 = new Sub1(), r3 = new Sub1();
Sub2 t1 = new Sub2(), t2 = new Sub2(), t3 = new Sub2();
}
r1,r2,r3 的 ID 将为 0,1,2,t1,t2,t3 的 ID 将为 3,4,5。而不是这些,我希望t1,t2,t3具有值0,1,2,即使用curID静态变量的另一个副本。
这可能吗?又是如何做到的呢?