Schnittstelle:
Im Allgemeinen stellt eine Schnittstelle einen Vertrag dar, ohne die zugrunde liegenden Implementierungsdetails offenzulegen. In der objektorientierten Programmierung definieren Schnittstellen abstrakte Typen, die ein Verhalten offenlegen, aber keine Logik enthalten. Die Implementierung wird durch die Klasse oder den Typ definiert, der die Schnittstelle implementiert.
@Schnittstelle : (Beschriftungstyp)
Nehmen Sie das folgende Beispiel, zu dem es viele Kommentare gibt:
public class Generation3List extends Generation2List {
// Author: John Doe
// Date: 3/17/2002
// Current revision: 6
// Last modified: 4/12/2004
// By: Jane Doe
// Reviewers: Alice, Bill, Cindy
// class code goes here
}
Stattdessen können Sie einen Annotationstyp deklarieren
@interface ClassPreamble {
String author();
String date();
int currentRevision() default 1;
String lastModified() default "N/A";
String lastModifiedBy() default "N/A";
// Note use of array
String[] reviewers();
}
die dann eine Klasse wie folgt annotieren kann:
@ClassPreamble (
author = "John Doe",
date = "3/17/2002",
currentRevision = 6,
lastModified = "4/12/2004",
lastModifiedBy = "Jane Doe",
// Note array notation
reviewers = {"Alice", "Bob", "Cindy"}
)
public class Generation3List extends Generation2List {
// class code goes here
}
PS: Viele Annotationen ersetzen Kommentare im Code.
Referenz: http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html