Anotações de Introdução em Java

As anotações foram introduzidas ou disponibilizadas na versão 1.5 do Java Development Kit (JDK). As anotações em Java fornecem mais informações sobre os dados presentes na estrutura de código, ou seja, são dados sobre dados também conhecidos como metadados.

O que são anotações em Java?

As anotações ajudam na definição de metadados no código de maneira padronizada. Além disso, as anotações ajudam a fornecer instruções ao seu compilador java a seguir ao compilar esse código java.

Ao usar as anotações, usamos o sinal '@' e, em seguida, seguimos o nome da sua anotação, para que o compilador a trate como uma anotação. É importante observar que as anotações podem ser adicionadas antes-

  • Uma declaração de classe
  • Uma declaração de variável de membro
  • Uma declaração de construtor
  • Uma declaração de método
  • Uma declaração de parâmetro
  • Uma declaração de variável local.

Pontos importantes a serem lembrados são que todas as anotações estendem a interface java.lang.annotation.Annotation. Além disso, as anotações não podem incluir nenhuma cláusula extends.

Anotações Java integradas

Em Java, existem anotações incorporadas, como @Override, @Deprecated, @SuppressWarnings, projetadas para uma finalidade específica e usadas em uma das situações acima, por exemplo, apenas para a classe ou apenas para o método, etc.

Exemplo # 1 - Substituir

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

Resultado

Exemplo # 2 - Descontinuado

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

Resultado

Meta Anotações

Existem cinco tipos de meta-anotações:

  1. Documentado - Informa que o membro, variável ou classe que usa esta anotação precisa ser documentada pelo Javadoc ou por qualquer outra ferramenta semelhante disponível.
  2. Alvo - É usado para especificar em qual tipo a anotação é usada. É usado principalmente junto com suas anotações personalizadas.
  3. Herdado - marca a anotação a ser herdada da subclasse.
  4. Retenção - Indica quanto tempo as anotações com o tipo anotado devem ser mantidas. Ele usa o argumento Política de Retenção cujos valores possíveis são: SOURCE, CLASS e RUNTIME.
  5. Repetível - Informa que os tipos de anotação cuja declaração faz anotação são repetíveis.

Exemplo - Documentação e Retenção

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

Resultado

Explicação

RetentionPolicy.RUNTIME - Este valor especifica que o valor da anotação deve estar disponível no tempo de execução, para inspeção via reflexão de java.

Execute o comando Javadoc para visualizar a documentação do seu código.

Tipos de anotações

Existem três categorias de anotações e as seguintes:

1. Anotações de Marcador - Esses tipos de anotações são usados ​​como uma declaração para notificar o desenvolvedor sobre o que é a função ou classe abaixo, ou seja, ele compartilha informações extras sobre a função ou classe, como se a função está substituindo outra função ou se a função está obsoleta. @ Substituir, @ Descontinuado são considerados anotações de marcador.

Exemplo: DemoAnnotation ()

2. Anotações de valor único - esse tipo de anotação tem valor para especificar o valor do membro para o qual a anotação é colocada na frente e, portanto, não precisa especificar o nome desse membro.

Exemplo: DemoAnnotation ("custId123")

3. Anotações completas - Esse tipo de anotação recebe vários valores, pares, membros.

Exemplo: DemoAnnotation (categoria = "Brinquedos", valor = 1500)

personalizadas

As anotações personalizadas são criadas pela interface do usuário, seguidas por um nome de anotação, como veremos no exemplo abaixo.

Arquivo 1: anotação personalizada definida

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

Arquivo 2: Classe principal que chama a classe de anotação personalizada

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

Resultado

Conclusão

Neste artigo, aprendemos sobre o que são anotações java e seus tipos com exemplos. Vimos exemplos de anotações internas fornecidas por java e codificamos nossas anotações personalizadas.

Aprendemos que as anotações são úteis para padronizar o código e também ajudam a entender melhor o código e sua estrutura.

Artigos recomendados

Este é um guia para anotações Java. Aqui discutimos Como incorporar anotações Java com os exemplos e saídas fornecidos. Você também pode consultar os seguintes artigos para saber mais -

  1. Variáveis ​​em Java
  2. Padrões em Java
  3. Classificação Rápida em Java
  4. Melhores compiladores Java
  5. instanceOf em Java com Exemplo