Instancia de Java (con ejemplos)

En este tutorial, aprenderá sobre el operador instanceof de Java en detalle con la ayuda de ejemplos.

El instanceofoperador en Java se usa para verificar si un objeto es una instancia de una clase en particular o no.

Su sintaxis es

 objectName instanceOf className;

Aquí, si objectName es una instancia de className, el operador regresa true. De lo contrario, vuelve false.

Ejemplo: instancia de Java

 class Main ( public static void main(String() args) ( // create a variable of string type String name = "Programiz"; // checks if name is instance of String boolean result1 = name instanceof String; System.out.println("name is an instance of String: " + result1); // create an object of Main Main obj = new Main(); // checks if obj is an instance of Main boolean result2 = obj instanceof Main; System.out.println("obj is an instance of Main: " + result2); ) )

Salida

 name es una instancia de String: true obj es una instancia de Main: true

En el ejemplo anterior, hemos creado un nombre de variable del Stringtipo y un objeto obj de la clase Main.

Aquí, hemos usado el instanceofoperador para verificar si name y obj son instancias de la Stringclase y Main respectivamente. Y el operador regresa trueen ambos casos.

Nota : en Java, Stringes una clase en lugar de un tipo de datos primitivo. Para obtener más información, visite Java String.

Instancia de Java durante la herencia

Podemos usar el instanceofoperador para verificar si los objetos de la subclase también son una instancia de la superclase. Por ejemplo,

 // Java Program to check if an object of the subclass // is also an instance of the superclass // superclass class Animal ( ) // subclass class Dog extends Animal ( ) class Main ( public static void main(String() args) ( // create an object of the subclass Dog d1 = new Dog(); // checks if d1 is an instance of the subclass System.out.println(d1 instanceof Dog); // prints true // checks if d1 is an instance of the superclass System.out.println(d1 instanceof Animal); // prints true ) )

En el ejemplo anterior, hemos creado una subclase Perro que hereda de la superclase Animal. Hemos creado un objeto d1 de la clase Dog.

Dentro de la declaración impresa, observe la expresión,

 d1 instanceof Animal

Aquí, estamos usando el instanceofoperador para verificar si d1 también es una instancia de la superclase Animal.

Instancia de Java en la interfaz

El instanceofoperador también se usa para verificar si un objeto de una clase es también una instancia de la interfaz implementada por la clase. Por ejemplo,

 // Java program to check if an object of a class is also // an instance of the interface implemented by the class interface Animal ( ) class Dog implements Animal ( ) class Main ( public static void main(String() args) ( // create an object of the Dog class Dog d1 = new Dog(); // checks if the object of Dog // is also an instance of Animal System.out.println(d1 instanceof Animal); // returns true ) )

En el ejemplo anterior, la clase Dog implementa la interfaz Animal. Dentro de la declaración impresa, observe la expresión,

 d1 instanceof Animal

Aquí, d1 es una instancia de la clase Dog. El instanceofoperador comprueba si d1 también es una instancia de la interfaz Animal.

Nota : en Java, todas las clases se heredan de la Objectclase. Entonces, las instancias de todas las clases también son una instancia de la Objectclase.

En el ejemplo anterior, si marcamos,

 d1 instanceof Object

El resultado será true.

Articulos interesantes...