Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

119
Vistas
El valor de retorno es verdadero para la interfaz con la clase de implementación cuando se usa una instancia de Java

Soy Java autodidacta y estoy un poco confundido sobre el uso de "instancia de" en Java. Básicamente sé usar instancia de, sin embargo, estoy teniendo dificultades con este caso. Escribo una interfaz, luego uso una clase para implementar esa interfaz. A continuación, quiero verificar si la interfaz tiene una instancia de con la clase de implementación. Lo intenté, pero el valor de retorno es solo "falso", pero quiero que devuelva "verdadero", ¿cómo debo escribirlo? ¿Puedo lograr ese objetivo? ¿Hay algún código de muestra o sugerencias para mí? te lo agradeceria mucho y te lo agradeceria. Lo siento, soy un novato, gracias.

 interface Demo { } class A implement Demo { } public class Main { public static void main(String[] args){ Demo demo = new Demo() {}; boolean result = demo instanceof A ; // I want result is "true"; System.out.println(result); } }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

No puede crear un objeto de interfaz porque la interfaz es básicamente una clase abstracta completa. Eso significa que la interfaz solo tiene la desaceleración del método, no su implementación. Entonces, si no tenemos ninguna implementación de un método, eso significa que si creamos un objeto de esa interfaz y llamamos a ese método, no compilará nada ya que no hay código para compilar.

 interface Demo { } class A implements Demo { } public class Main { public static void main(String[] args){ Demo demo = new A(); boolean result = demo instanceof A ; System.out.println(result); } }
over 4 years ago · Santiago Trujillo Denunciar

0

A implement Demo y así: object with type A instanceof Demo será true , pero no al revés.

Idealmente, Demo no sabe nada acerca de A .

Y no debe crear una instancia de interfaz.

over 4 years ago · Santiago Trujillo Denunciar

0

El código que diste funciona perfectamente bien. result es falso, porque demo no es una instancia de A . De hecho, es al revés. Debido a que A implementa Demo , todas las instancias de A devolverían verdadero cuando se verifica que sean Demo .

Puede definir demo para que sea una instancia de A y luego verificar si es una instancia de Demo :

 Demo demo = new A(); boolean result = demo instanceof Demo; // now it is true System.out.println(result);

Editar: Cambió la declaración de demo debido al comentario de @Thomas (¡Gracias!)

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda