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, de todos modos, he estado trabajando en un pequeño proyecto Java esta semana y usando Intellij IDEA como mi IDE , para un cambio de ritmo de mi desarrollo regular .Net.
Noté que tiene soporte para agregar interfaces y @interfaces, ¿qué es una @interface y cómo se diferencia de una interfaz normal?
public interface Test {
}
vs.
public @interface Test {
}
He buscado un poco, pero no he podido encontrar una gran cantidad de información útil que se refiera a @interface.
fuente
interfaz:
En general, una interfaz expone un contrato sin exponer los detalles de implementación subyacentes. En la programación orientada a objetos, las interfaces definen tipos abstractos que exponen el comportamiento, pero no contienen lógica. La implementación se define por la clase o tipo que implementa la interfaz.
@interface: (tipo de anotación)
Tome el siguiente ejemplo, que tiene muchos comentarios:
En lugar de esto, puede declarar un tipo de anotación
que luego puede anotar una clase de la siguiente manera:
PD: muchas anotaciones reemplazan los comentarios en el código.
Referencia: http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html
fuente
La
interface
palabra clave indica que está declarando una clase de interfaz tradicional en Java.La
@interface
palabra clave se utiliza para declarar un nuevo tipo de anotación.Consulte el tutorial docs.oracle sobre anotaciones para obtener una descripción de la sintaxis.
Vea el JLS si realmente quiere entrar en detalles sobre lo que
@interface
significa.fuente
interface:
define el contrato para una clase que lo implementa@interface:
define el contrato para una anotaciónfuente
La interfaz en el lenguaje de programación Java es un tipo abstracto que se utiliza para especificar un comportamiento que las clases deben implementar. Son similares a los protocolos. Las interfaces se declaran utilizando la palabra clave de interfaz
@interface se utiliza para crear sus propias anotaciones Java (personalizadas). Las anotaciones se definen en su propio archivo, al igual que una clase o interfaz Java. Aquí hay un ejemplo de anotación Java personalizado:
Este ejemplo define una anotación llamada MyAnnotation que tiene cuatro elementos. Observe la palabra clave @interface. Esto le indica al compilador de Java que esta es una definición de anotación de Java.
Observe que cada elemento se define de manera similar a la definición de un método en una interfaz. Tiene un tipo de datos y un nombre. Puede usar todos los tipos de datos primitivos como tipos de datos de elementos. También puede usar matrices como tipo de datos. No puede usar objetos complejos como tipo de datos.
Para usar la anotación anterior, puede usar un código como este:
Referencia: http://tutorials.jenkov.com/java/annotations.html
fuente