Ошибка генерируется, поскольку вы не определили конструктор по умолчанию (без аргументов) в Employee
class Employee {
private int emp_id;
public Employee() {
}
public Employee(int id) {
this.emp_id = id;
}
public int get_id() {
return emp_id;
}
}
но есть пара моментов, на которые следует обратить внимание: вы устанавливаете emp_id
через конструктор и определяете геттер для его чтения. Кажется, что поле должно было быть частным. В противном случае вы можете просто получить доступ напрямую.
У вас уже есть конструктор в Employee, устанавливающий идентификатор, и вам не нужно определять тот же конструктор в том же классе. Просто используйте конструктор суперкласса.
class Manager extends Employee {
public Manager(int id ) {
super(id); // calls the superclass constructor
}
}
В этом случае вам не нужен конструктор по умолчанию.