Nie możesz w ten sposób zliczać ilości zmiennych, bo jeśli w konstruktorze klasy ustawiasz zmienną statyczną na 1, to wtedy każdorazowe stworzenie obiektu tej klasy zmieni tę wartość na 1.
Jeśli chcesz zliczyć ilość obiektów występujących w grze, to myślę, że słusznie posłużyłeś się tutaj zmienną statyczną (to częsta praktyka), ale powinieneś w konstruktorze ją inkrementować:
ileZmiennych++;
Przy czym trzeba zaznaczyć, że jeśli Ty tą zmienną dziedziczysz z innej klasy, to w klasie pochodnej nie masz możliwości ustawienia jej wartości początkowej. Musisz to zrobić w klasie podstawowej. Zmienne statyczne się inicjalizuje od razu, bo potem już klops.
Radziłbym więc w klasie podstawowej napisać:
static protected int ileZmiennych = 0;
A potem w klasie pochodnej (w Twoim przypadku jest to chyba "Tyrystor") w konstruktorze inkrementować:
Tyrystor.ileZmiennych++;
Teraz jak stworzysz 5 obiektów typu "Tyrystor", to zmienna "ileZmiennych" będzie zawierała liczbę 5.
Przy odwoływaniu się do zmiennej statycznej posłużyłem się nazwą klasy, choć nie było to konieczne. To jest dobra praktyka, bo wtedy widać, że "ileZmiennych" jest zmienną statyczną. Polecam z tego korzystać.
Jeszcze jedno ostrzeżenie. Jak Masz klasę podstawową "Rodzic", w której jest jakaś zmienna statyczna i z tej klasy dziedziczą 2 inne klasy: "Potomek1" i "Potomek2", to ta odziedziczona zmienna statyczna jest wspólna dla obydwu klas pochodnych wraz z rodzicem. To znaczy, że jak Potomek1 zmieni wartość tej odziedziczonej zmiennej statycznej, to Potomek2 również będzie miał tą zmienioną wartość w swojej zmiennej i rodzic także. Bo ta statyczna jest współdzielona.