Is it possible to override a class parameter in Java? I'm pretty sure it is not possible but...
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{
 (...)
}
Apparently, there is no problem in adding two paraters with the same name but i'm not sure the two parameters are "link" together..
When I'm calling the getHome() function from a Son object, it returns a null object. Which make sense because the Dad object has no initialised Building object. Even if Son has a initialise Shack object that extends Building class. (I don't know if I'm clear enough...)
A simple solution would be to simply initialise home with a Shack object and cast home in Shack whenever it is necessary. But I'd like to know if there is another way to do this.
 
     
     
    