"Olá, amigo! Você já conhece o operador instanceof . Hoje vou te contar como e onde ele pode ser utilizado. instanceof é um operador muito simples e eficiente."
"Isso soa como um anúncio!"
"Realmente é muito simples. É usado assim: «objeto» instância de «classe» ."
Ele verifica se um objeto é uma instância de uma classe específica. É mais fácil do que explicar. Veja este exemplo:
Código | Descrição |
---|---|
|
isInt será verdadeiro . O objeto referenciado pela variável o é uma instância da classe Integer . |
|
isInt será falso . O objeto referenciado pela variável o não é uma instância da classe Integer . É um objeto String . |
|
isFIS será verdadeiro . O objeto referenciado pela variável o é uma instância da classe FileInputStream . |
"Sim, isso é muito simples."
"Este operador também é responsável pela herança. Confira."
Código | Descrição |
---|---|
|
Aqui temos três declarações de classe: Animal, Cat e Tiger. Gato herda Animal. E Tiger herda Cat. |
|
isCat será verdadeiro . isTiger será verdadeiro . isAnimal será true . |
|
isCat será false . isTiger será false . isAnimal será true . |
E até interfaces:
Código | Descrição |
---|---|
|
Crie duas classes: Cat, TomCat e a interface Moveable |
|
isCat será verdadeiro . isMoveable será true . isTom será verdadeiro . |
|
isCat será verdadeiro . isMoveable será false . isTom será false . |
O operador instanceof se parece com isto: a instanceof B .
Em outras palavras, o operador instanceof retornará true se:
1) a variável a armazena uma referência a um objeto do tipo B
2) a variável a armazena uma referência a um objeto cuja classe herda B
3) a variável a armazena uma referência a um objeto que implementa a interface B
Caso contrário, o operador instanceof retornará false .
"Entendi. Então, por que isso é necessário, tio Rishi?"
"Ellie vai falar sobre isso hoje. Esta é uma operadora muito legal. Você vai se convencer disso hoje."
GO TO FULL VERSION