Класс - реализация интерфейса, описывающего работника. У каждого работника может быть менеджер, у каждого менеджера может быть менеджер итд. Менеджер не объект данного класса. Функция setManager устанавливает менеджера работнику, getManagerName возварщает его имя. Вопрос - как обратиться к полям объекта manager и почему я не могу этого сделать? Ибо в отладчике значения переменных посмотреть можно.
String name;
public Object manager;
public void setManager(Employee manager) {
this.manager = manager;
}
public String getManagerName() {
if (manager != null) {
return manager.name; // не работает
}
else {
return null;
}
}
Вы не можете обратиться к полям объекта manager, потому что этот член класса объявлен как тип Object, у которого нет поля name. Вы же знаете тип менеджера:
private Employee manager;
public void setManager(Employee manager) {
this.manager = manager;
}
public String getManagerName() {
if (manager != null) {
return manager.name; // работает
} else {
return null;
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей