Въведение Анотации в Java

Анотациите бяха въведени или станали достъпни във версията 1.5 на Java Development Kit (JDK). Анотациите в Java предоставят повече информация за данните, присъстващи в структурата на кода, т.е. това са данни за данни, известни също като метаданни.

Какво представляват поясненията в Java?

Анотациите помагат при дефинирането на метаданни в кода по стандартизиран начин. Освен това поясненията помагат за предоставяне на инструкции за вашия java компилатор, който да следвате, докато компилирате кода на java.

Когато използваме поясненията, използваме знака „@“ и след това следваме името на вашата пояснение, така че компилаторът да я третира като пояснение. Важно е да се отбележи, че поясненията могат да се добавят преди

  • Декларация за клас
  • Декларация за променлива член
  • Декларация на конструктора
  • Декларация за метод
  • Декларация на параметър
  • Декларация за локална променлива.

Важни моменти, които трябва да запомните, са, че всички пояснения разширяват интерфейса java.lang.annotation.Anonotation. Освен това поясненията не могат да включват клауза за разширения.

Вградени Java пояснения

В Java има вградени пояснения като @Override, @Deprecated, @SuppressWarnings, които са предназначени за конкретна цел и се използват в една от горните ситуации, например, само за класа или само за метод, и т.н.

Пример №1 -Превръщане

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();
)
)

продукция

Пример №2 - Предполага се

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();
)
)

продукция

Мета пояснения

Има пет вида мета-бележки:

  1. Документирано - Той информира, че членът или променливата или класът, който използва това пояснение, трябва да бъде документиран от Javadoc или други налични подобни инструменти.
  2. Цел - Използва се за уточняване от кой тип се използва пояснението. Използва се предимно заедно с вашите персонализирани пояснения.
  3. Наследено - Той отбелязва анотацията, която трябва да бъде наследена на подклас.
  4. Задържане - Указва колко дълго трябва да се запазват поясненията с типа коментиран. Той взема аргумента на политиката за задържане, чиито възможни стойности са: ИЗТОЧНИК, КЛАС и RUNTIME.
  5. Повторяемост - Това информира, че видовете пояснения, чиято декларация коментира, са повтаряеми.

Пример - Документация и задържане

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");
)
)

продукция

обяснение

RetentionPolicy.RUNTIME - Тази стойност уточнява, че стойността на поясненията трябва да е налична по време на изпълнение, за проверка чрез java отражение.

Изпълнете командата Javadoc, за да видите документацията на вашия код.

Видове пояснения

Има три категории пояснения и има следното:

1. Анотации с маркер - Тези типове пояснения се използват като декларация за уведомяване на разработчика за какво се отнася по-долу функцията или класа, т.е. споделя допълнителна информация за функцията или класа, например дали функцията отменя друга функция или функцията е оттеглена и т.н. @ Oververide, @Deprecated се считат за пояснения за маркери.

Пример: DemoAnnotation ()

2. Анотации с единична стойност - Този вид пояснения получава стойност, за да посочи тази стойност за този член, за който пояснението се поставя пред и следователно, не е необходимо да посочвате името на този член.

Пример: DemoAnnotation („custId123“)

3. Пълни пояснения - Този вид анотации приема множество стойности, двойки, членове.

Пример: DemoAnnotation (категория = „Играчки“, стойност = 1500)

Персонализиран

Персонализирани пояснения се създават от потребителския интерфейс, последвано от име на пояснение, както ще видим в примера по-долу.

Файл 1: Дефинирано персонализирано пояснение

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; )
)

Файл 2: Основен клас, който извиква персонализиран клас за пояснения

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();
)
)
)

продукция

заключение

В тази статия научихме за това какво представляват Java поясненията и техните типове с примери, като заедно видяхме примери за вградени пояснения, предоставени от java, и кодирахме нашите персонализирани пояснения.

Научихме, че поясненията са полезни при стандартизирането на кода и също така помага за по-доброто разбиране на кода и неговата структура.

Препоръчителни статии

Това е ръководство за Java пояснения. Тук обсъждаме Как да вградите Java пояснения с дадените примери и изходи. Може да разгледате и следните статии, за да научите повече -

  1. Променливи в Java
  2. Модели в Java
  3. Бързо сортиране в Java
  4. Най-добрите компилатори на Java
  5. instanceOf в Java с пример