Въведение Анотации в 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();
)
)
продукция
Мета пояснения
Има пет вида мета-бележки:
- Документирано - Той информира, че членът или променливата или класът, който използва това пояснение, трябва да бъде документиран от Javadoc или други налични подобни инструменти.
- Цел - Използва се за уточняване от кой тип се използва пояснението. Използва се предимно заедно с вашите персонализирани пояснения.
- Наследено - Той отбелязва анотацията, която трябва да бъде наследена на подклас.
- Задържане - Указва колко дълго трябва да се запазват поясненията с типа коментиран. Той взема аргумента на политиката за задържане, чиито възможни стойности са: ИЗТОЧНИК, КЛАС и RUNTIME.
- Повторяемост - Това информира, че видовете пояснения, чиято декларация коментира, са повтаряеми.
Пример - Документация и задържане
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 пояснения с дадените примери и изходи. Може да разгледате и следните статии, за да научите повече -
- Променливи в Java
- Модели в Java
- Бързо сортиране в Java
- Най-добрите компилатори на Java
- instanceOf в Java с пример