interfejs:
Generalnie interfejs naraża umowę bez narażania leżące szczegóły implementacji. W programowaniu obiektowym interfejsy definiują typy abstrakcyjne, które odsłaniają zachowanie, ale nie zawierają żadnej logiki. Implementacja jest definiowana przez klasę lub typ implementujący interfejs.
@interface: (typ Adnotacja)
Take poniższy przykład, który ma wiele komentarzy:
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
}
Zamiast tego, można zadeklarować typ adnotacji
@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();
}
, która może następnie opisać klasę w następujący sposób:
@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: Wiele adnotacji zastępuje komentarze w kodzie.
referencyjny: http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html
Wielkie dzięki, dobrze wiedzieć. Więc to, co było uzasadnieniem dla nazwania go @interface, a raczej powiedzmy, że to jest @annotation, wydaje mi się niepotrzebnie przeładowanym terminem. – Bittercoder
Samouczek i JLS wskazują na adnotację będącą specjalnym rodzajem interfejsu. Wydaje się, że nie ma tam zbyt wielu dyskusji na ten temat, ale http://javarunner.blogspot.com/2005/01/annotations-in-java-15.html wyjaśnia, że adnotacje są niejawnym rozszerzeniem interfejsu Adnotacji i @ i interfejs są używane do rozróżnienia ze zwykłym interfejsem. Możesz również przeczytać specyfikację JSR dla adnotacji. – DavidValeri
@Bittercoder do dokumentów wspomina: "interfejs słowa kluczowego jest poprzedzony znakiem" at "(@) (@ = AT, jak w typie adnotacji)". To wszystko uzasadnienie, które mogę znaleźć w.r.t. nazywanie. – Shaishav