sirve - ¿qué código asociarías a una interfaz en java?




¿Cuál es la diferencia entre la interfaz y la interfaz @ en java? (3)

No he tocado Java desde que usé JBuilder a fines de los 90 mientras estaba en la Universidad, así que estoy un poco fuera de contacto. Al menos, he estado trabajando en un pequeño proyecto de Java esta semana y uso Intellij IDEA como mi IDE , para un cambio de ritmo de mi desarrollo regular .Net.

Me doy cuenta de que tiene soporte para agregar interfaces y @interfaces, ¿qué es un @interface y en qué se diferencia de una interfaz normal?

public interface Test {
}

contra

public @interface Test {
}

He hecho un poco de búsqueda, pero no pude encontrar una gran cantidad de información útil que se refiera a @interface.


El símbolo @ denota una definición de tipo de anotación.

Eso significa que no es realmente una interfaz, sino un nuevo tipo de anotación, que se utilizará como un modificador de función, como @override .

Ver esta entrada javadocs sobre el tema.


La palabra clave de la interface indica que está declarando una clase de interfaz tradicional en Java.
La palabra clave @interface se utiliza para declarar un nuevo tipo de anotación.

Consulte el http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html sobre las anotaciones para obtener una descripción de la sintaxis.
Vea el JLS si realmente quiere entrar en los detalles de lo que significa @interface .


interface: define el contrato para una clase que lo implementa

@interface: define el contrato para una anotación





language-features