Gostaria de saber o que muda ???
Pai objeto = new Filho();
Pai objeto = new Filho();
Filho objFilho = (filho) objeto;
Gostaria de saber o que muda ???
Pai objeto = new Filho();
Pai objeto = new Filho();
Filho objFilho = (filho) objeto;
Se você referencia um objeto "Filho" usando uma variável "Pai", você só terá acesso aos membros da classe "Pai", já quando você referencia o objeto usando uma variável "Filho" você tem acesso aos membros de "Filho" também.
ex.:
public class Pai{
public void metodoPai(){
System.out.println("metodoPai");
}
}
public class Filho extends Pai{
public void metodoFilho(){
System.out.println("metodoFilho");
}
}
Pai obj = new Filho();
obj.metodoPai(); //ok
obj.metodoFilho(); //não funciona
Filho objF = (Filho) obj;
objF.metodoPai(); //ok
objF.metodoFilho(); //ok
É o mesmo que !!!
Filho filho = new filho (); pois ele estende o pai , não ?
É.