O operador instanceof em Java é usado para indicar, em tempo de execução, se um objeto é uma instância de uma classe específica. Instanceof indica se o objeto é uma instância dessa classe particular ou de sua subclasse ao retornar um booleano.
instanceof em Java é em .net!
Uso: resultado = instância de objeto da classe Parâmetro: Resultado: tipo booleano. Objeto: Obrigatório. Expressões arbitrárias de objetos. Aula: Obrigatória. Qualquer classe de objeto definida. Ilustrar: Se o objeto for uma instância da classe, o operador instanceof retorna verdadeiro. Se o objeto não for uma instância da classe especificada, ou se o objeto for nulo, false é retornado.
No entanto, há uma diferença entre o estado de compilação e o estado de execução do instanceof em Java:
No estado compilado, a classe pode ser a classe pai, sua própria classe ou classe filha do objeto objeto. Nesses três casos, o Java não reporta erro ao compilar.
Na transição em execução, a classe pode ser a classe pai do objeto objeto, sua própria classe, não uma classe filha. Nos dois primeiros casos, o resultado é verdadeiro e o último é falso. No entanto, quando classe é uma subclasse, a compilação não reportará um erro. O resultado da sequência é falso.
Exemplo:
interface Person
interface pública Person { vazio público comer();
}
Implementar a classe Povo
classe pública Pessoas implementa Pessoa { Privado int A=0; @Override vazio público comer() { System.out.println("======"+a);
}
}
Subcategoria xiaoming:
a classe pública xiaoming estende as pessoas { nome particular String;
@Override vazio público comer() { System.out.println("+++++++++");
}
}
Função principal
Nota: O código nos dois lugares acima não reportará erro ao compilar.
Resultado da corrida:
true
false
true
true
|