Galera, surgiu uma duvida, estava lendo alguns topicos do forum, e quero saber uma coisa, em qual situaçao preciso saber qual a instancia de um objeto???
Duvida com instance of
6 Respostas
bom, há várias situações…por exemplo se vc tem as classes:
Pessoa (pai), PessoaFisica(filha), PessoaJuridica(filha), ae em determinado momento você recebe um objeto pessoa mas não sabe se é física ou jurídica. COm o instance of vc descobre qual o tipo desse objeto…
fora o exemplo do Thiago existem varios padroes de projeto que precisam saber o tipo do objeto 
hummm … blzaaa galeraaa deu para pegarrr a ideia da coisaaaa!!! valewwww
Interessante este tópico: Era justamente uma das minhas dúvidas… Será que você poderia colocar um exemplo? Estava lendo que para colocar no padrão fachada é necessário usar o instance of, mas para ser sincero não sei utiliza-lo. 
Interessante este tópico: Era justamente uma das minhas dúvidas… Será que você poderia colocar um exemplo? Estava lendo que para colocar no padrão fachada é necessário usar o instance of, mas para ser sincero não sei utiliza-lo.![]()
Geralmente se usa instance of toda quando utilizamos polimorfismo, ou colecoes que nao usam genéricos, se utiliza muito tambem quando se implementa o metodo equals.
Exemplo 1: colecoes
ArrayList lista= new ArrayList();
lista.add(new Dog());
lista.add(new Cat());
lista.add(new String("adf"));
Object objeto=lista.get(1);
//aí vc quer saber o q é esse objeto para tratar ele corretamente e nao fazer nenhuma merda
if (objeto instance of Dog) { System.out.print("é um cachorro"); Dog novo= (Dog) objeto //ja sabe que nao vai dar um ClassCastException
else if(objeto instance of Cat) System.out.print("gato");
Exemplo 2: equals
public boolean equals(Object objeto){
if ((objeto instance of Cat)&& (this.toString().equals(objeto.toString())) return true; //sao equivalentes
else return false;
}
Exemplo 3: polimorfismo
public class Pessoa{}
...
public class Homem extends Pessoa{}
...
public class Mulher extends Pessoa{}
...
public class Menino extends Homem{}
...
...
Pessoa[] pessoas= new Pessoa[4];
pessoas[0]=new Homem();
pessoas[1]=new Mulher();
pessoas[2]= new Menino();
//o resto vc ja sabe
if (pessoa[0] instance of Mulher) ;//eh mulher
Opa… vlw pela ajuda amigo, irei estuda mais esta parte de polimorfismo e istance of visto que sempre tive um pouco de dificuldade para entender esta parte.Abraços meu velho!!!