Java и унаследованные статические члены [дубликаты]
На этот вопрос уже есть ответ здесь:
Какие правила предписывают наследование статических переменных в Java? 3 ответаПредположим, у меня есть следующий класс:
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();
}
Я БЫ's из r1, r2, r3 будет 0,1,2, а из t1, t2, t3 будет 3,4,5. Вместо этого я хочу, чтобы значения t1, t2, t3 имели значения 0,1,2, т.е. использовать другую копию статической переменной curID.
Это возможно? И как?