前者を拡張する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すると、スーパー コンストラクターを呼び出すことができることがわかりましたが、サブクラス コンストラクターにすべての引数を渡さずにスーパー コンストラクターを呼び出す方法があるかどうか疑問に思っています。