我有两个类,Staff
and 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
构造函数允许我调用超级构造函数,但我想知道是否有一种方法可以调用超级构造函数而不在我的子类构造函数中传递其所有参数?