Czy konstruktor podklasy wymaga wszystkich argumentów konstruktora superklasy?
Mam dwie klasy,Staff
iAdvancedStaff
, co rozszerza ten pierwszy.
Staff
ma tego konstruktora:
public Staff (String number, String title, String name, String role, char level) {
staffNumber = number;
staffTitle = title;
staffName = name;
staffRole = role;
payScaleLevel = level;
}
Zauważę, że wszystkie zmienne instancji zostały ustawione na prywatne.
Podczas,Advanced Staff
ma tego konstruktora:
public AdvancedStaff (String number, String title, String name) {
super(number, title, name);
role = "Entry level Advanced Staff";
level = 'A';
}
Jednak powoduje to błąd „nie znaleziono symbolu”Staff
konstruktor.
Próbowałem użyćsuper.staffRole = "Entry level Advanced Staff";
ale zakres prywatny mojej superklasy uniemożliwia to.
Odkryłem, że dodawanie pólString role
ichar level
do mojegoAdvancedStaff
konstruktor pozwala mi wywołać super konstruktor, ale zastanawiam się, czy istnieje sposób na wywołanie super konstruktora bez przekazywania wszystkich jego argumentów w konstruktorze podklasy?