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

245
Visualizações
¿Cómo definir una interfaz de miembro en un contexto estático en Java?

La interfaz de miembro solo se puede definir dentro de una clase o interfaz de nivel superior o en un contexto estático.

Caso A: la interfaz dentro de una clase de nivel superior funciona perfectamente

 package multiplei.interfaces.test; public class InterfaceBetweenClass { interface Foo { void show(); } class InnerClass implements Foo{ public void show(){ System.out.println("Inner Class implements Foo"); } } public static void main(String[] args) { new InterfaceBetweenClass().new InnerClass().show(); } }

Caso B: la interfaz dentro de una interfaz funciona bien.

 public interface Creatable { interface Foo{ void show(); }}

Caso C: Sé que suena estúpido por qué alguien definiría una interfaz en un contexto estático. Pero me da el mismo mensaje de error cuando intento definir la interfaz en un contexto estático.

 package multiplei.interfaces.test; public class InterfaceBetweenClass { public static void main(String[] args) { interface Foo { //Line 5 void show(); } } }}

Pero la línea número 5 me da el siguiente mensaje de error: "The member interface Foo can only be defined inside a top-level class or interface or in a static context. Por favor, ayúdenme con esto. Si una interfaz se puede definir en un contexto estático, entonces ¿cómo?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

No puede definir interfaces dentro de los métodos.

Creo que el escenario al que se refiere el mensaje de error es definir una interfaz dentro de una clase interna (que se puede hacer, pero solo si es una clase interna static ):

 class A{ static class X{ interface Y{} } }
about 4 years ago · Santiago Trujillo Relatório

0

Para la interfaz, tanto la interfaz anidada como la interfaz miembro son lo mismo (#opuesto a la clase miembro). Además, la interfaz de miembro es una interfaz que está DIRECTAMENTE encerrada por otra clase u otra interfaz. Por lo tanto, la interfaz local NO existe.

about 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