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:
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 Anmerkungstyp 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 kommentieren 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 Anmerkungen ersetzen Kommentare im Code.
Referenz: http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html