Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

120
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda