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.

Это возможно? И как?

Ответы на вопрос(9)

Ваш ответ на вопрос