Возможно ли переопределить параметр класса в Java? Я почти уверен, что это невозможно, но ...
public class Dad {
protected Building home;
public Dad() {
}
public Building getHome(){
return this.home;
}
}
public class Son extends Dad {
protected Shack home;
public Son () {
super();
this.home = new Shack();
}
}
public Shack extends Building{
(...)
}
По-видимому, нет проблем с добавлением двух параметров с одинаковым именем, но я не уверен, что эти два параметра "связаны" вместе.
Когда я вызываю функцию getHome()
из объекта Son
, он возвращает нулевой объект. Это имеет смысл, потому что объект Dad
не имеет инициализированного объекта Building
. Даже если Son
имеет инициализированный Shack
объект, который расширяет класс Building
. (Я не знаю, достаточно ли я ясен ...)
Простым решением было бы просто инициализировать home
объектом Shack
и приводить home
в Shack
всякий раз, когда это необходимо. Но я хотел бы знать, есть ли другой способ сделать это.