Wprowadzenie Adnotacje w Javie

Adnotacje zostały wprowadzone lub stały się dostępne w wersji 1.5 Java Development Kit (JDK). Adnotacje w Javie dostarczają więcej informacji o danych obecnych w strukturze kodu, tj. Są to dane o danych zwanych również metadanymi.

Co to są adnotacje w Javie?

Adnotacje pomagają w definiowaniu metadanych w kodzie w znormalizowany sposób. Adnotacje pomagają również w dostarczaniu instrukcji do kompilatora Java, których należy przestrzegać podczas kompilowania tego kodu Java.

Podczas korzystania z adnotacji używamy znaku „@”, a następnie nazwy adnotacji, dzięki czemu kompilator traktuje ją jako adnotację. Należy pamiętać, że adnotacje można dodać przed-

  • Deklaracja klasy
  • Deklaracja zmiennej członka
  • Deklaracja konstruktora
  • Deklaracja metody
  • Deklaracja parametru
  • Deklaracja zmiennej lokalnej.

Ważne jest, aby pamiętać, że wszystkie adnotacje rozszerzają interfejs java.lang.annotation.Annotation. Adnotacje nie mogą także zawierać żadnej klauzuli rozszerzenia.

Wbudowane adnotacje Java

W Javie są wbudowane adnotacje, takie jak @Override, @Deprecated, @SuppressWarnings, które są zaprojektowane do określonego celu i używane w jednej z powyższych sytuacji, na przykład tylko dla klasy lub tylko dla metody, itp.

Przykład # 1 - Override

class Dad (
public void say() (
System.out.println("Do your homework");
)
)
public class Child extends Dad (
@Override
public void say()(
System.out.println("I wanna play");
)
public static void main(String args())(
Dad daddy = new Child();
daddy.say();
)
)

Wynik

Przykład # 2 - Nieaktualny

public class Outdated
(
@Deprecated
public void oldShow()
(
System.out.println("This Method is deprecated"); )
public static void main(String args())
(
Outdated od = new Outdated ();
od.oldShow();
)
)

Wynik

Meta Adnotacje

Istnieje pięć rodzajów meta-adnotacji:

  1. Udokumentowane - informuje, że element członkowski, zmienna lub klasa korzystająca z tej adnotacji musi zostać udokumentowana przez Javadoc lub inne dostępne podobne narzędzia.
  2. Cel - służy do określenia, w jakim typie adnotacja jest używana. Jest używany głównie wraz z niestandardowymi adnotacjami.
  3. Dziedziczony - oznacza adnotację, która ma zostać odziedziczona do podklasy.
  4. Przechowywanie - wskazuje, jak długo mają być przechowywane adnotacje z typem adnotacji. Pobiera argument Zasady przechowywania, którego Możliwe wartości to: ŹRÓDŁO, KLASA i RUNTIME.
  5. Powtarzalne - informuje, że typy adnotacji, których deklarację adnotuje, są powtarzalne.

Przykład - dokumentacja i przechowywanie

import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@interface RSample (
String rentent();
)
@Documented
@interface DSample (
String doc();
)
public class MetaAnnotate (
public static void main(String arg())
(
new MetaAnnotate().rentent();
new MetaAnnotate().doc();
)
@RSample (rentent="Meta Info R")
public void rentent() (
System.out.println("Retention Policy Applied");
)
@DSample(doc="Meta Info D")
public void doc() (
System.out.println("Code Documented with the value");
)
)

Wynik

Wyjaśnienie

RetentionPolicy.RUNTIME - ta wartość określa, że ​​wartość adnotacji powinna być dostępna w czasie wykonywania, w celu sprawdzenia przez odbicie Java.

Uruchom komendę Javadoc, aby wyświetlić dokumentację swojego kodu.

Rodzaje adnotacji

Istnieją trzy kategorie adnotacji i są one następujące:

1. Adnotacje znaczników - te typy adnotacji są używane jako deklaracja, aby powiadomić programistę, o co chodzi w poniższej funkcji lub klasie, tj. Dzieli się dodatkowymi informacjami o funkcji lub klasie, np. Czy funkcja zastępuje inną funkcję, czy też jest przestarzała, itp. @Override, @Deprecated są uważane za adnotacje znaczników.

Przykład: DemoAnnotation ()

2. Adnotacje z pojedynczą wartością - ten rodzaj adnotacji przyjmuje wartość, aby określić tę wartość dla tego elementu, dla którego adnotacja jest umieszczona przed, i dlatego nie trzeba określać nazwy tego elementu.

Przykład: DemoAnnotation („custId123”)

3. Pełne adnotacje - ten rodzaj adnotacji przyjmuje wiele wartości, par, elementów.

Przykład: Demo Adnotacja (kategoria = „Zabawki”, wartość = 1500)

Zwyczaj

Niestandardowe adnotacje są tworzone przez interfejs użytkownika, a następnie nazwa adnotacji, co zobaczymy w poniższym przykładzie.

Plik 1: zdefiniowano niestandardową adnotację

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target((ElementType.TYPE, ElementType.METHOD))
@Retention(RetentionPolicy.RUNTIME)
@interface Magicians
(
String Wizard() default "Reynolds";
String House() default "Green";
)
@Magicians
public class Magician
(
@Magicians(Wizard = "Harry Potter", House = "Red")
public String getString() ( return null; )
)

Plik 2: Klasa główna, która wywołuje niestandardową klasę adnotacji

import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Method;
public class MyCustomAnnotation
(
public static void main(String() args) throws NoSuchMethodException, SecurityException
(
new Magician();
Class magic = Magician.class;
readAnnotationOn(magic);
Method method = magic.getMethod("getString", new Class()());
readAnnotationOn(method);
)
static void readAnnotationOn(AnnotatedElement element)
(
try
(
System.out.println("\n Find annotations on " + element.getClass().getName());
Annotation() annotations = element.getAnnotations();
for (Annotation annotation : annotations)
(
if (annotation instanceof Magicians)
(
Magicians mData = (Magicians) annotation;
System.out.println("Wizard Name :" + mData.Wizard());
System.out.println("Wizard House Color :" + mData.House());
)
)
) catch (Exception e)
(
e.printStackTrace();
)
)
)

Wynik

Wniosek

W tym artykule dowiedzieliśmy się, jakie są adnotacje Java i ich typy wraz z przykładami, a także zobaczyliśmy przykłady wbudowanych adnotacji dostarczonych przez java i zakodowaliśmy nasze niestandardowe adnotacje.

Dowiedzieliśmy się, że adnotacje są przydatne w standaryzacji kodu, a także pomagają w lepszym zrozumieniu kodu i jego struktury.

Polecane artykuły

To jest przewodnik po Adnotacjach Java. Tutaj omawiamy jak wbudowane adnotacje Java z podanymi przykładami i danymi wyjściowymi. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Zmienne w Javie
  2. Wzory w Javie
  3. Szybkie sortowanie w Javie
  4. Najlepsze kompilatory Java
  5. instanceOf w Javie z przykładem