Nie dotknąłem Javy od czasu używania JBuilder pod koniec lat 90. na uniwersytecie, więc jestem trochę poza kontaktem - w każdym razie pracowałem nad małym projektem Java w tym tygodniu i używałem Intellij IDEA jako mojego IDE , dla zmiany tempa od mojego regularnego rozwoju .Net.
Zauważyłem, że obsługuje dodawanie interfejsów i interfejsów @, co to jest interfejs @ i czym różni się od zwykłego interfejsu?
public interface Test {
}
vs.
public @interface Test {
}
Przeprowadziłem trochę wyszukiwania, ale nie znalazłem wielu użytecznych informacji dotyczących @interface.
java
interface
annotations
language-features
Bittercoder
źródło
źródło
berło:
Zasadniczo interfejs ujawnia umowę bez ujawniania podstawowych szczegółów implementacji. W programowaniu obiektowym interfejsy definiują abstrakcyjne typy, które ujawniają zachowanie, ale nie zawierają logiki. Implementacja jest zdefiniowana przez klasę lub typ, który implementuje interfejs.
@interface: (typ adnotacji)
Weź poniższy przykład, który ma wiele komentarzy:
Zamiast tego możesz zadeklarować typ adnotacji
który może następnie opisać klasę w następujący sposób:
PS: Wiele adnotacji zastępuje komentarze w kodzie.
Odniesienie: http://docs.oracle.com/javase/tutorial/java/annotations/declaring.html
źródło
Słowo
interface
kluczowe wskazuje, że deklarujesz tradycyjną klasę interfejsu w Javie.Słowo
@interface
kluczowe służy do deklarowania nowego typu adnotacji.Aby zapoznać się z opisem składni, zobacz samouczek docs.oracle na temat adnotacji.
Zobacz JLS, jeśli naprawdę chcesz dowiedzieć się, co
@interface
to znaczy.źródło
interface:
definiuje kontrakt dla klasy, która go implementuje@interface:
określa umowę na adnotacjęźródło
Interfejs w języku programowania Java jest abstrakcyjnym typem używanym do określania zachowania, które muszą zostać zaimplementowane przez klasy. Są podobne do protokołów. Interfejsy deklarowane są za pomocą słowa kluczowego interface
Interfejs @ służy do tworzenia własnych (niestandardowych) adnotacji Java. Adnotacje są zdefiniowane we własnym pliku, podobnie jak klasa Java lub interfejs. Oto niestandardowy przykład adnotacji Java:
W tym przykładzie zdefiniowano adnotację o nazwie MyAnnotation, która zawiera cztery elementy. Zwróć uwagę na słowo kluczowe @interface. Sygnalizuje to kompilatorowi Java, że jest to definicja adnotacji Java.
Zauważ, że każdy element jest zdefiniowany podobnie do definicji metody w interfejsie. Ma typ danych i nazwę. Możesz używać wszystkich pierwotnych typów danych jako typów danych elementów. Możesz także użyć tablic jako typu danych. Nie można używać złożonych obiektów jako typu danych.
Aby użyć powyższej adnotacji, możesz użyć następującego kodu:
Odniesienie - http://tutorials.jenkov.com/java/annotations.html
źródło