Cast objetos?

3 respostas
V

Gostaria de saber o que muda ???

Pai objeto = new Filho();


Pai objeto = new Filho();
Filho objFilho = (filho) objeto;

3 Respostas

J

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
V

É o mesmo que !!!

Filho filho = new filho (); pois ele estende o pai , não ?

J

É.

Criado 22 de dezembro de 2006
Ultima resposta 22 de dez. de 2006
Respostas 3
Participantes 2