Mam takie cudo
private static int wholeTimeEmployeesCounter;
private int ID;
private WorkRank workRank;
private int yearInBusiness;
private Salary salary; //in zl
public Employee(String firstName, String surname, int age, Gender gender, int yearsInBusiness) {
super(firstName, surname, age, gender);
this.yearInBusiness = yearsInBusiness;
workRank = getWorkRank(yearsInBusiness);
salary = new Salary(workRank);
++wholeTimeEmployeesCounter;
ID = wholeTimeEmployeesCounter;
}
Ogólnie jest to klasa Employee i podczas wywołania konstruktora zmienna wholeTimeEmployeesCounter inkrementuje się.
Przy usuwaniu obiektu nie jest ona dekrementowana.
Mam też serializacje tego obiektu do pliku i nie wiem w sumie czy da radę rozwiązać sprawę zapisywanie tej zmiennej statycznej niż zapis po prostu jako wartosc do innego pliku.