Rodzaje adnotacji

Istnieją trzy rodzaje adnotacji.

  1. Adnotacja znacznika
  2. Adnotacja o pojedynczej wartości
  3. Adnotacja wielowartościowa

Adnotacja znacznika to adnotacja bez metody. Na przykład:

@interface MyAnnotation{}

2) Adnotacja o pojedynczej wartości

Adnotacja jednowartościowa to typ adnotacji, który zawiera tylko jedną metodę. Na przykład:

@interface MyAnnotation{
int value();
}

@interface MyAnnotation{
int value() default 0;
}

Przyjrzyjmy się kodowi użycia adnotacji z pojedynczą wartością.

@MyAnnotation(value=10)

3) Adnotacja wielowartościowa

Adnotacja z wieloma metodami nazywana jest adnotacją wielowartościową. Jako przykład:

@interface MyAnnotaion{
int value1();
String value1();
String value2();
String value3();
}
}

@interface MyAnnotation{
int value1() default 1;
String value2() default "";
String value3() default "xyz";
}

Przyjrzyjmy się kodowi użycia adnotacji wielowartościowej.

@MyAnnotation(value1 = 10, value2 = "Arun Kumar", value3 = "Ghaziabad")

  • @Cel
  • @Zatrzymanie
  • @Dziedziczny
  • @udokumentowane

Tag @Target służy do określenia typu, do którego ma zastosowanie adnotacja.

Adnotacja w java.lang.

Wyliczenie ElementType deklaruje liczbę stałych, które określają typ elementu, do którego zostanie zastosowana adnotacja, takich jak TYP, METODA, POLE itd. Spójrzmy na stałe wyliczenia ElementType:

Przykład określania adnotacji dla klasy

@Target(ElementType.TYPE)
@interface MyAnnotation{
int value1();
String value2();
}

@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
@interface MyAnnotation{
int value1();
String value2();
}

Adnotacja @Retention określa poziom adnotacji, który będzie dostępny.

Przykład określenia RetentionPolicy

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface MyAnnotation{
int value1();
String value2();
}

Rzućmy okiem na podstawowy przykład tworzenia, stosowania i uzyskiwania dostępu do adnotacji.

//Creating annotation
import java.lang.annotation.*;
import java.lang.reflect.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnnotation{
int value(();
}
//Applying annotation
class Hello{
@MyAnnotation(value = 10)
public void sayHello(){System.out.println("hello annotation");}
}
//Accessing annotation
class TestCustomAnnotation1{
public static void main(String args[])throws Exception{
Hello h = new Hello();
Method m = h.getClass().getMethod("sayHello");
MyAnnotation manno = m.getAnnotation(MyAnnotation.class);
System.out.pirntln("value is:" + manno.value());
}}

value is: 10

W praktyce programista java musi jedynie korzystać z adnotacji. Nie musi tworzyć adnotacji ani uzyskiwać do nich dostępu. Dostawca implementacji odpowiada za tworzenie i dostęp do adnotacji. Kompilator Java lub maszyna JVM wykonuje dodatkowe operacje w imieniu adnotacji.

@Dziedziczny

Adnotacje nie są domyślnie dziedziczone przez podklasy. Adnotacja @Inherited wskazuje, że adnotacja będzie dziedziczona przez podklasy.

@Inherited
@interface ForEveryone{}//Now it will be available to subclass also
@interface ForEveryone{}
class Superclass{}
class Subclass extends Superclass{}

@Documented Oznacza adnotację do włączenia do dokumentacji.

Suggested posts

Finansowanie usuwania dwutlenku węgla w RO24

Podział wniosków o środki Carbon180 na różne ścieżki

Finansowanie usuwania dwutlenku węgla w RO24

Autor: Alyson Lee, doradca zarządzający ds. spraw rządowych Coroczny proces przyznawania środków przez rząd federalny ma kluczowe znaczenie dla naszych wysiłków na rzecz sfinansowania usuwania dwutlenku węgla (CDR). Każdego roku Carbon180 przesyła prośby do różnych biur kongresowych, aby pomóc wskazać, gdzie będą płynąć dolary w przyszłym roku.

Prześladowania chrześcijan: przestępstwo z nienawiści, o którym nie mówimy

Zapomnij o islamofobii: Chrześcijanie (i Żydzi) są głównymi ofiarami przestępstw z nienawiści na tle religijnym.

Prześladowania chrześcijan: przestępstwo z nienawiści, o którym nie mówimy

Każdy racjonalnie myślący wie, że w kręgach politycznych i medialnych dominuje lewica, nawet skrajna lewica, co powoduje zachwianie równowagi w dyskursie politycznym. W dziedzinie religii ta nierównowaga jest wyraźnie widoczna: lewicowe gazety i sieci nie spieszą się z obroną wiary chrześcijańskiej.

Related posts

Czy sztuka jest kiedykolwiek apolityczna?

Czy sztuka jest kiedykolwiek apolityczna?

Wczoraj zamknęliśmy drzwi tegorocznego Konkursu Piosenki Eurowizji błyskotliwym, chaotycznym wielkim finałem, w którym szwedzka piosenkarka Loreen zabrała do domu trofeum, stając się pierwszą kobietą, która wygrała dwa razy i przywracając koronę Szwecji 50 lat po tym, jak ABBA wygrała konkurs z „Waterloo”. Stali się jednym z największych zespołów w kanonie muzyki pop.

Dwa lata projektowania – dobre, złe i brzydkie…

Dwa lata projektowania – dobre, złe i brzydkie…

„Hej, Siri, zagraj w Me Dive autorstwa Olivii Dean”. W maju 2021 rozpocząłem staż w Future Academy Africa w Akure w Nigerii.

Kłamstwo kowbojskie

Jak megakorporacje sprzedały Amerykanom mocne kłamstwo

Kłamstwo kowbojskie

Jest wspaniale złoty poranek na falistych wzgórzach zachodu, gdy pierwsze promienie słońca oświetlają oszronioną trawę na równinach. Stado spokojnego bydła rasy Angus, czarnego jak smoła i masywne, rysuje się na tle wschodu słońca, gdy zmierza utartym szlakiem do miejsca, które wszyscy dobrze znają; bar śniadaniowy.

Występ solowy rudowłosej dziewczyny

Na zlecenie Haydena Katie filmuje swoją masturbację.

Występ solowy rudowłosej dziewczyny

Było już po północy, kiedy Hayden odwiózł Katie do jej akademika po wspólnym wieczorze. Miała wcześnie rano zajęcia i nie miała kolejnej zmiany ubrania po tym, jak spędziła z nim noc wcześniej.