Родительский класс ...Многоуровневого Наследование по умолчанию Конструктор
public class UMember {
private String first;
private String last;
private String street;
private String city;
private String state;
private String zipcode;
public UMember() {
this("na", "na", "na", "na", "na", "na");
}
public UMember(String first, String last, String street,
String city, String state, String zipcode){
set(first, last, street, city, state, zipcode);
}
private void set(String first, String last, String street,
String city, String state, String zipcode){
this.first = first;
this.last = last;
this.street = street;
this.city = city;
this.state = state;
this.zipcode = zipcode;
}
public void setUMember(String first, String last, String street,
String city, String state, String zipcode) {
set(first, last, street, city, state, zipcode);
}
Родитель подкласс UMember является ...
public class Employee extends UMember {
private int eid;
private String doh;
private String dept;
private double salary;
public Employee() {
this(0, "na", "na", 0.0, "na", "na", "na", "na", "na", "na");
}
public Employee(int eid, String doh, String dept, double salary) {
this(eid, doh, dept, salary, "na", "na", "na", "na", "na", "na");
}
public Employee(int eid, String doh, String dept, double salary,
String first, String last, String street, String city,
String state, String zipcode) {
super(first, last, street, city, state, zipcode);
set(eid, doh, dept, salary);
}
private void set(int eid, String doh, String dept, double salary) {
this.setEid(eid);
this.setDoh(doh);
this.setDept(dept);
this.setSalary(salary);
}
private void setEmployee(int eid, String doh, String dept, double salary,
String first, String last, String street, String city,
String state, String zipcode) {
setUMember(first, last, street, city, state, zipcode);
set(eid, doh, dept, salary);
}
Подкласса Работника ...
public class Faculty extends Employee{
private String rank;
private int annualTeachingLoad;
public Faculty() {
this("na", 0, 0, "na", "na", 0.0,
"na", "na", "na", "na", "na", "na");
}
public Faculty(String rank, int annualTeachingLoad) {
this(rank, annualTeachingLoad, 0, "na", "na", 0.0,
"na", "na", "na", "na", "na", "na");
}
Ни один из конструкторов по умолчанию, указанных выше в подклассе факультета, не является правильным. Я не могу понять, почему. Сначала я использую значения по умолчанию для факультета, затем Employee, наконец, UMember. Любая помощь по поводу того, почему оба эти фрагмента кода являются неправильными, будет высоко оценена.
'супер (...)' должно быть первым, что называется. –
@SotiriosDelimanolis - Где вы видите, что OP нарушает это правило? –
Что значит «неверный код?» –