前者を拡張するStaff
との2 つのクラスがあります。AdvancedStaff
Staff
このコンストラクタがあります:
public Staff (String number, String title, String name, String role, char level) {
staffNumber = number;
staffTitle = title;
staffName = name;
staffRole = role;
payScaleLevel = level;
}
すべてのインスタンス変数がプライベートに設定されていることに注意してください。
一方、次のAdvanced Staff
コンストラクタがあります。
public AdvancedStaff (String number, String title, String name) {
super(number, title, name);
role = "Entry level Advanced Staff";
level = 'A';
}
ただし、これにより、Staff
コンストラクターに対して「シンボルが見つかりません」というエラーがスローされます。
使用してみましsuper.staffRole = "Entry level Advanced Staff";
たが、スーパークラスのプライベート スコープがこれを妨げています。
フィールドString role
とコンストラクターchar level
を追加AdvancedStaff
すると、スーパー コンストラクターを呼び出すことができることがわかりましたが、サブクラス コンストラクターにすべての引数を渡さずにスーパー コンストラクターを呼び出す方法があるかどうか疑問に思っています。