Cómo funciona instanceof en Java y cuándo usarlo

Hola a todos, hoy os enseñare como se usa el operador instanceof en Java.

El operador instanceof nos permite comprobar si un objeto es de una clase concreta. Por ejemplo, tenemos 3 clases: Empleado (clase padre), Comercial (clase hija de Empleado) y Repartidor (clase hija Empleado).

Si ejecutas el ejemplo anterior, veras que cuando las clases hijas ademas de mostrar que es de su propia clase, también son de la clase Empleado, ya que, por ejemplo, un comercial «es un» empleado.

¿Pero que pasaría si quisiera ejecutar un método definido en la clase hija (en la clase padre no esta)? Debemos hacer un casting de objetos para poder ejecutarlo. Veamos un ejemplo:

Como vemos, para hacer un casting de objetos, creamos un objeto aparte de la clase que queremos hacer el casting y convertimos la posición del array ya que el array considera que contiene objetos de la clase Empleado.

También debemos tener en cuenta que podemos usar una interfaz en lugar de una clase. Supongamos que tenemos la clase Empleado y otra clase Persona cada una con una interfaz llamada Empleable. Veamos un ejemplo:

Recuerda que si ese método esta tanto en la clase padre como en la hija, no es necesario hacer el casting de objetos.

Te dejo un video para complementar:

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

3 comentarios

  1. Oscar

    Perfecto, no se puede explicar mejor, gracias! +10.

  2. Lovelace

    Que es un casting de objetos?

  3. Disco Duro de Roer Post author

    Es convertir un objeto a otro tipo de clase, solo funciona siempre y cuando sea compatible

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539