CodeGym/Curso de Java/Núcleo de Java/instancia del operador

instancia del operador

Disponible

"¡Hola Amigo! Ya conoces el operador instanceof . Hoy te voy a contar cómo y dónde se puede utilizar. instanceof es un operador muy simple y eficiente."

"¡Eso suena como un anuncio!"

"Realmente es muy simple. Se usa así: «objeto» instancia de «clase» .

Comprueba si un objeto es una instancia de una clase en particular. Es más fácil que explicarlo. Mira este ejemplo:

Código Descripción
Object o = new Integer(3);
boolean isInt = o instanceof Integer;
isInt será verdadero . El objeto al que hace referencia la variable o es una instancia de la clase Integer .
Object o = "Mama";
boolean isInt = o instanceof Integer;
isInt será falso . El objeto al que hace referencia la variable o no es una instancia de la clase Integer . Es un objeto de cadena .
InputStream is = new FileInputStream("");
boolean isFIS = is instanceof FileInputStream;
isFIS será verdadero . El objeto al que hace referencia la variable o es una instancia de la clase FileInputStream .

"Sí, eso es muy simple".

"Este operador también da cuenta de la herencia. Compruébalo".

Código Descripción
class Animal
{
}
class Cat extends Animal
{
}
class Tiger extends Cat
{
}
Aquí tenemos tres declaraciones de clase: Animal, Cat y Tiger. Gato hereda Animal. Y Tiger hereda Cat.
Object o = new Tiger();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat  será  cierto .
isTiger  será  cierto .
isAnimal  será  cierto .
Object o = new Animal();
boolean isCat = o instanceof Cat;
boolean isTiger = o instanceof Tiger;
boolean isAnimal = o instanceof Animal;
isCat  será falso .
isTiger  será  falso .
isAnimal  será  cierto .

E incluso interfaces:

Código Descripción
interface Moveable
{
}
class Cat
{
}
class TomCat extends Cat implements Moveable
{
}
Crea dos clases: Cat, TomCat y la interfaz Moveable
Cat o = new TomCat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat  será  cierto .
isMoveable  será  verdadero .
isTom  será  cierto .
Cat o = new Cat();
boolean isCat = o instanceof Cat;
boolean isMoveable = o instanceof Moveable;
boolean isTom = o instanceof TomCat;
isCat  será  cierto .
isMoveable  será  falso .
isTom  será  falso .

El operador instanceof se ve así: una instancia de B .

En otras palabras, el operador instanceof devolverá verdadero si:

1) la variable a almacena una referencia a un objeto de tipo B

2)  la variable a almacena una referencia a un objeto cuya clase hereda  B

3)  la variable a almacena una referencia a un objeto que implementa la interfaz  B

De lo contrario, el operador instanceof devolverá false .

"Entendido. Entonces, ¿por qué es esto necesario, tío Rishi?"

"Ellie te hablará de eso hoy. Este es un operador muy agradable. Te convencerás de eso hoy".

4
Tarea
Núcleo de Java,  nivel 4lección 1
Bloqueada
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.
Comentarios
  • Populares
  • Nuevas
  • Antiguas
Debes iniciar sesión para dejar un comentario
Esta página aún no tiene comentarios