Introducción a la instancia de Java
instanceOf es una clase de lenguaje de programación Java que, cuando se llama, devuelve un valor booleano y se utiliza para examinar la relación entre Object y una clase / interfaz. Debido a su capacidad para comparar estos dos, también se conoce como "operador de comparación de tipos". Simplemente, instanceOf se usa para verificar si un objeto es de cualquier tipo o no, y devuelve un valor booleano que es verdadero o falso. InstanceOf es uno de los operadores útiles en Java, que ayuda a obtener información útil sobre un objeto, en un entorno de tiempo de ejecución.
Sintaxis:
La clase instanceOf se usa para verificar si el objeto es de alguna clase o no.
obj instanceOf object
Arriba está la sintaxis estándar, por ejemplo, de la clase. Aquí, el obj es el nombre del objeto que debe haberse creado anteriormente (referencia). instanceOf es la palabra clave y el objeto es la clase o la interfaz con la que hacemos coincidir el objeto obj.
En varios casos, puede probarse que instanceOf es de gran utilidad, como cuando tenemos una colección de objetos y no está seguro de a qué objeto se refiere. Un ejemplo de tal caso puede ser una forma simple con muchos controles.
Además, si usamos instanceOf con una variable que tiene un valor NULL, es seguro que devolverá false.
¿Cómo instancia de trabajo?
El operador instanceOf en java funciona en una relación simple is-a. En pocas palabras, la relación is-a es un concepto orientado a objetos, donde comparamos o decimos, trabajamos en una relación entre abstracciones, donde la clase A es una subclase de la clase B. Esta es una relación totalmente basada en la herencia. En otras palabras, es como decir, "X es de tipo Y".
Ahora, comprendamos el funcionamiento de instanceOf, junto con el código respectivo.
Primero, crearemos una clase llamada Parent.
Código:
Class Parent(
)
Then let's add a simple main class.
public static void main(String args()) (
)
Luego crearemos una instancia de nuestra clase Parent.
Parent child = new Parent();
Finalmente, usaremos el operador instanceOf para verificar la relación entre child y Parent. Que es así: instancia secundaria de padre
Ahora, como se mencionó anteriormente, la sintaxis para instanceOf va de un objeto que tiene que verificar, luego la palabra clave instanceOf y luego la clase / interfaz con la que se probará el objeto dado.
En cualquier punto en el que nos encontremos con la palabra clave "extend" o "implements", en una declaración de clase, es una señal clara de que se está utilizando una relación.
Ejemplos de instancia de Java
El siguiente ejemplo muestra el uso de una sola línea de instanceOf.
Class instanceof_java(
public static void main(String args()) (
instanceof_java s = new instanceof_java();
System.out.println(s instanceOf instanceof_java);
)
)
Interpretación del código: comenzó con la creación de una clase simple instanceof_java. En la clase instanceof_java, tenemos nuestra clase principal y dentro de nuestra clase principal, tenemos un objeto s creado. Este objeto s es del tipo instanceof_java. Luego, para implementar el funcionamiento de instanceOf, proporcionamos una declaración de salida con el objeto s. En la última línea, pasamos s junto con la instancia de la palabra clave y la clase padre. Tras la ejecución, el código devolverá 'verdadero', porque el objeto s es de tipo de instancia.
Más adelante, si tenemos un objeto de nuestra clase o interfaz conocida pero no hemos asignado ningún valor al mismo objeto, es probable que devuelva falso, aunque sea de la misma clase.
Class instanceof_sample(
public static void main(String args()) (
instanceof_sample new = null;
System.out.println(new instanceOf instanceof_sample);
)
)
Aquí tenemos un código similar al que teníamos para el ejemplo anterior, pero con un objeto de valor nulo. Cuando se ejecuta, este código devolverá falso. Como podemos ver, el objeto nuevo es la instancia de instanceof_sample, pero a new se le asigna un valor nulo, que se devuelve en falso.
Reglas, por ejemplo, del operador
Según si el objeto ref no es nulo, y una instancia del tipo referido. Cuando X es la clase simple del objeto referido e Y es la clase resuelta o una matriz de un tipo de interfaz.
- Cuando X es una clase simple, entonces:
- Si Y es un tipo de clase, entonces la X debe ser una subclase de Y o X debe ser la misma clase que Y.
- Si Y es un tipo de interfaz, entonces la clase X debe implementar la interfaz T.
- Cuando X es interfaz de tipo, entonces:
- Si Y es un tipo de clase, entonces Y debe ser un Objeto.
- Y puede ser lo mismo que la interfaz que X o la súper interfaz de X si Y es un tipo de interfaz.
- Si X es una clase, que representa el tipo de matriz SC (), que es una matriz de componentes de tipo SC, entonces:
- Si Y es un tipo de clase, Y debe ser un objeto.
- Si Y es un tipo de interfaz, Y debe ser del tipo de interfaz implementado por arrays.
Finalmente, demostraremos un programa instanceOf para comprender que el objeto primario no puede ser una instancia de la clase secundaria.
Programa
class Subject ( )
class Topic extends Subject ( )
class instanceof_java
(
public static void main(String() args)
(
Subject history = new Subject ();
if (history instanceof Topic)
System.out.println("history is instance of Topic");
else
System.out.println("history is NOT instance of Topic");
)
)
Interpretación del código: con el fin de comprender el operador de instancia de en diferentes escenarios, escribimos el código anterior. Creamos una clase simple Asunto, y luego otra clase Tema, que extiende la clase Asunto, haciendo que la clase Tema como hijo y la clase Asunto como padre aquí. Luego otra clase con el método principal. Dentro del método principal, creamos una nueva instancia de la clase principal Asunto. En el bucle IF ELSE, verificamos la condición del objeto de instancia con la clase principal Asunto. Si se cumpliera la condición, devolvería "el historial es una instancia de Tema" y "el historial NO es una instancia de Tema" si la condición falla.
Al ejecutar el código anterior, la salida será "el historial NO es una instancia de Tema", lo que significa que la condición pasada en IF falla. Sucedió porque tratamos de verificar el padre del objeto "historial" con la clase Tema. Sabemos que la clase Tema amplía la clase Asunto, lo que significa que el Tema es una subclase de Asunto. Y cuando intentamos verificar el tipo de historial con el tema de clase, devuelve falso (NO). Esto significa que el objeto padre no puede ser una instancia de una clase.
Salida:
Conclusión- instancia de Java
Hemos aprendido sobre la clase instanceOf en Java, que simplemente decide si el objeto es del tipo dado. Entendimos cómo impacta una relación en la instancia del operador. También conocido como operador de comparación, instanceOf se basa en la herencia.
Artículos recomendados
Esta ha sido una guía para InstanceOf en Java. Aquí discutimos cómo funciona InstanceOf en Java, reglas con interpretación de código. También puede echar un vistazo a los siguientes artículos para obtener más información:
- Palabras clave de Java
- Anotaciones Java
- JavaScript Cheat Sheet
- Palabras clave PHP