Je n'ai pas touché à Java depuis que j'utilise JBuilder à la fin des années 90 alors que j'étais à l'université, donc je suis un peu déconnecté - en tout cas, je travaille sur un petit projet Java cette semaine, et j'utilise Intellij IDEA comme IDE , pour un changement de rythme par rapport à mon développement .Net régulier.
Je remarque qu'il prend en charge l'ajout d'interfaces et @interfaces, qu'est-ce qu'une @interface et en quoi diffère-t-il d'une interface normale?
public interface Test {
}
contre.
public @interface Test {
}
J'ai fait un peu de recherche, mais je n'ai pas trouvé beaucoup d'informations utiles concernant @interface.
la source
interface:
En général, une interface expose un contrat sans exposer les détails d'implémentation sous-jacents. Dans la programmation orientée objet, les interfaces définissent des types abstraits qui exposent le comportement, mais ne contiennent aucune logique. L'implémentation est définie par la classe ou le type qui implémente l'interface.
@interface: (type d'annotation)
Prenons l'exemple ci-dessous, qui contient de nombreux commentaires:
Au lieu de cela, vous pouvez déclarer un type d'annotation
qui peut ensuite annoter une classe comme suit:
PS: de nombreuses annotations remplacent les commentaires dans le code.
Référence: http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html
la source
Le
interface
mot-clé indique que vous déclarez une classe d'interface traditionnelle en Java.le
@interface
mot clé est utilisé pour déclarer un nouveau type d'annotation.Voir le didacticiel docs.oracle sur les annotations pour une description de la syntaxe.
Voir le JLS si vous voulez vraiment entrer dans les détails de ce que cela
@interface
signifie.la source
interface:
définit le contrat d'une classe qui le met en œuvre@interface:
définit le contrat d'une annotationla source
interface dans le langage de programmation Java est un type abstrait qui est utilisé pour spécifier un comportement que les classes doivent implémenter. Ils sont similaires aux protocoles. Les interfaces sont déclarées à l'aide du mot-clé interface
@interface est utilisé pour créer vos propres annotations Java (personnalisées). Les annotations sont définies dans leur propre fichier, tout comme une classe ou une interface Java. Voici un exemple d'annotation Java personnalisé:
Cet exemple définit une annotation appelée MyAnnotation qui comporte quatre éléments. Remarquez le mot-clé @interface. Cela signale au compilateur Java qu'il s'agit d'une définition d'annotation Java.
Notez que chaque élément est défini de manière similaire à une définition de méthode dans une interface. Il a un type de données et un nom. Vous pouvez utiliser tous les types de données primitifs comme types de données d'élément. Vous pouvez également utiliser des tableaux comme type de données. Vous ne pouvez pas utiliser des objets complexes comme type de données.
Pour utiliser l'annotation ci-dessus, vous pouvez utiliser du code comme celui-ci:
Référence - http://tutorials.jenkov.com/java/annotations.html
la source