CodeGym /Cursos /Núcleo do Java /instância do operador

instância do operador

Núcleo do Java
Nível 4, Lição 1
Disponível

"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
Object o = new Integer(3);
boolean isInt = o instanceof Integer;
isInt será verdadeiro . O objeto referenciado pela variável o é uma instância da classe Integer .
Object o = "Mama";
boolean isInt = o instanceof Integer;
isInt será falso . O objeto referenciado pela variável o não é uma instância da classe Integer . É um objeto String .
InputStream is = new FileInputStream("");
boolean isFIS = is instanceof FileInputStream;
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
class Animal
{
}
class Cat extends Animal
{
}
class Tiger extends Cat
{
}
Aqui temos três declarações de classe: Animal, Cat e Tiger. Gato herda Animal. E Tiger herda Cat.
Object o = new Tiger();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat  será  verdadeiro .
isTiger  será  verdadeiro .
isAnimal  será  true .
Object o = new Animal();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat  será false .
isTiger  será  false .
isAnimal  será  true .

E até interfaces:

Código Descrição
interface Moveable
{
}
class Cat
{
}
class TomCat extends Cat implements Moveable
{
}
Crie duas classes: Cat, TomCat e a interface Moveable
Cat o = new TomCat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat  será  verdadeiro .
isMoveable  será  true .
isTom  será  verdadeiro .
Cat o = new Cat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
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."

4
Tarefa
Núcleo do Java, nível 4, lição 1
Bloqueado
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and assimilate some material. What's more, you combat laziness.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION