Ich habe Java seit der Verwendung von JBuilder in den späten 90ern während meines Studiums nicht mehr berührt, daher bin ich ein wenig außer Kontakt - jedenfalls habe ich diese Woche an einem kleinen Java-Projekt gearbeitet und Intellij IDEA als meine IDE verwendet , für eine Abwechslung von meiner regulären .Net-Entwicklung.
Ich stelle fest, dass es das Hinzufügen von Schnittstellen und @ Schnittstellen unterstützt. Was ist eine @ Schnittstelle und wie unterscheidet sie sich von einer normalen Schnittstelle?
public interface Test {
}
vs.
public @interface Test {
}
Ich habe ein bisschen gesucht, konnte aber nicht viele nützliche Informationen finden, die sich auf @interface beziehen.
quelle
Schnittstelle:
Im Allgemeinen macht eine Schnittstelle einen Vertrag verfügbar, ohne die zugrunde liegenden Implementierungsdetails offenzulegen. In der objektorientierten Programmierung definieren Schnittstellen abstrakte Typen, die das Verhalten offenlegen, aber keine Logik enthalten. Die Implementierung wird durch die Klasse oder den Typ definiert, der die Schnittstelle implementiert.
@interface: (Anmerkungstyp)
Nehmen Sie das folgende Beispiel, das viele Kommentare enthält:
Stattdessen können Sie einen Anmerkungstyp deklarieren
die dann eine Klasse wie folgt kommentieren kann:
PS: Viele Anmerkungen ersetzen Kommentare im Code.
Referenz: http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html
quelle
Das
interface
Schlüsselwort gibt an, dass Sie eine traditionelle Schnittstellenklasse in Java deklarieren.Das
@interface
Schlüsselwort wird verwendet, um einen neuen Anmerkungstyp zu deklarieren.Eine Beschreibung der Syntax finden Sie im docs.oracle-Tutorial zu Anmerkungen.
Sehen Sie sich das JLS an, wenn Sie wirklich näher auf die Bedeutung eingehen möchten
@interface
.quelle
interface:
definiert den Vertrag für eine Klasse, die ihn implementiert@interface:
definiert den Vertrag für eine Anmerkungquelle
Schnittstelle in der Programmiersprache Java ist ein abstrakter Typ, mit dem ein Verhalten angegeben wird, das Klassen implementieren müssen. Sie ähneln Protokollen. Schnittstellen werden mit dem Schlüsselwort interface deklariert
@interface wird verwendet, um eigene (benutzerdefinierte) Java-Annotationen zu erstellen. Anmerkungen werden wie eine Java-Klasse oder -Schnittstelle in einer eigenen Datei definiert. Hier ist ein Beispiel für eine benutzerdefinierte Java-Annotation:
In diesem Beispiel wird eine Anmerkung namens MyAnnotation definiert, die vier Elemente enthält. Beachten Sie das Schlüsselwort @interface. Dies signalisiert dem Java-Compiler, dass dies eine Java-Annotationsdefinition ist.
Beachten Sie, dass jedes Element ähnlich wie eine Methodendefinition in einer Schnittstelle definiert ist. Es hat einen Datentyp und einen Namen. Sie können alle primitiven Datentypen als Elementdatentypen verwenden. Sie können auch Arrays als Datentyp verwenden. Sie können keine komplexen Objekte als Datentyp verwenden.
Um die obige Anmerkung zu verwenden, können Sie folgenden Code verwenden:
Referenz - http://tutorials.jenkov.com/java/annotations.html
quelle