Вы должны создать метод получения в суперклассе, называемый getID (), который просто возвращает this.id.Метод может быть вызван из любого класса, который расширяет абстрактный класс и может использоваться для получения значения из поля id.Если это то, к чему вы стремитесь :)
Важно отметить, что вы можете сделать это, потому что всякий раз, когда вы создаете новый объект для Staff, самая первая строка в конструкторе должна вызывать конструктор.внутри пользователя, чтобы установить обязательное поле.Например, поле id в этом случае.
Ниже приведен рабочий пример, который динамически устанавливает идентификатор, начиная со значения 5. Вы можете запустить его, чтобы подтвердить результаты или взглянуть на скриншот, прикрепленный ниже.
abstract class User{
static int count = 5;
private int id;
public User(){
this.id = count++;
}
public int getID(){
return this.id;
}
}
class Staff extends User{
public Staff(){
super();
}
public int getID(User x){
return super.getID();
}
}
public class Program {
public static void main(String[] args){
Staff x = new Staff();
System.out.println(x.getID());
}
}
Результаты