Это не на 100% связано с вашей проблемой.Но это также связано с конструкторами Java.Допустим, у вашего класса Person нет конструктора по умолчанию, а параметры конструктора не являются примитивными типами данных.Это объекты.
Но если вы хотите создать подкласс с конструктором по умолчанию, вот решение.И имейте в виду, вам не разрешено менять суперкласс.
Я создал другой класс с именем contact.
class Contact{
private String name;
private int number;
public Contact(String name, int number) {
this.name = name;
this.number = number;
}
}
Тогда вот код.
//Super Class - "Can't change the code"
class Person {
Person(Contact contact) { }
}
//Sub Class
class Employee extends Person {
private static Contact c;
static {
c = new Contact("Anna",10);
}
Employee() {
super(c);
}
}
Вы должны статической переменной класса Contact, чтобы сохранить экземпляр объекта для передачи в конструктор суперкласса.