"Hallo Amigo!"

"Hallo Rishi."

"Vandaag geef ik je een diepere inleiding tot annotaties."

"Zoals je waarschijnlijk al weet, zijn annotaties speciale woorden die naast klassen, velden, methoden en variabelen kunnen worden geplaatst."

"Ja. Ik kom ze heel vaak tegen."

"Soms worden ze ook wel metadata genoemd . Hun primaire doel is om specifieke aanvullende informatie over methoden, velden en klassen op te slaan."

"Voor wie slaan ze het op?"

"Dat is een heel goede vraag."

"Mensen schrijven annotaties, wat betekent dat iemand ze nodig moet hebben."

"Annotaties laten je aanvullende informatie over de code en programma-elementen opslaan, maar formeel maken ze geen deel uit van de code."

"Annotaties kunnen worden gebruikt om XML te genereren, te bepalen of een methode verouderd is, bugs op te sporen, enz."

"Hier is een voorbeeld van annotaties in code:"

Voorbeeld
@CatInfo(manager=Catmanager.class, unique=true)
class Cat
{
 @Name("Missy")
 private String name;

 @SuppressWarnings(value = "unchecked")
 void getUniqueCatName()
 {

 }
}

"Zoals je kunt zien, kunnen gegevens worden opgeslagen in annotaties."

"Als een annotatie slechts één veld met de naam waarde heeft , kan de veldnaam worden weggelaten:"

Voorbeeld
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"Als er geen parameters tussen haakjes staan, kunnen ze ook worden weggelaten:"

Voorbeeld
@Override
void getUniqueCatName()
{

}

"Het is supereenvoudig om je eigen annotatie te maken. Het declareren van een annotatie is bijna identiek aan het declareren van een interface."

Voorbeeld
@interface CatManager
{
 Class manager();
 boolean unique();
 String name() default "Unknown Cat";
}

"Er zijn maar een paar verschillen."

"Eerst plaats je een «@»-teken voor het woord interface ."

"Ten tweede kan een annotatie standaardwaarden hebben. Je gebruikt het woord standaard om standaardwaarden in te stellen . Zie het voorbeeld hierboven. Deze parameters zijn optioneel en kunnen worden weggelaten bij het toevoegen van annotaties."

'Ah. Het is allemaal makkelijker dan ik dacht. En ik heb ze vermeden zoals de Robo-Devil wijwater vermijdt. Het is niet prettig als code veel dingen bevat die je niet helemaal begrijpt.'

"Oh, het is goed dat je me eraan herinnert - ik wil je meer vertellen over annotaties die door de compiler worden gebruikt."

"Er zijn slechts 3 van dergelijke annotaties. Nou ja, drie tot nu toe."

@Verouderd.

"Je kunt een klasse of een methode annoteren met @Deprecated. Dit zorgt ervoor dat de compiler een waarschuwing geeft (een waarschuwing is geen fout), en IntelliJ IDEA zal deze methode als doorgestreepte tekst weergeven. Iets als dit  :

Voorbeeld
Date date = new Date();
int year = date.getYear();

@Overschrijven.

"Het wordt als best practice beschouwd om de annotatie @Override toe te voegen aan methoden die u overschrijft."

"Waar is dat voor? Laat IDEA niet al zien of een methode al dan niet wordt overschreven?"

"Ten eerste is er IDEA en dan is er Java-syntaxis."

"En ten tweede, hypothetisch, zou je een situatie kunnen hebben waarin de methode van een basisklasse wordt hernoemd zonder een overeenkomstige wijziging in de naam van de methode in de subklasse. Het programma zal niet werken zoals verwacht, maar niemand zal het merken. Deze annotatie is bedacht om voorkomen dat deze situaties zich voordoen:"

Voorbeeld
@Override
void getUniqueCatName()
{

}

@SuppressWarnings.

"Soms geeft de compiler veel waarschuwingen weer. En soms weten we van de "problemen" en kiezen we er bewust voor om de overeenkomstige code te gebruiken die ze creëert. Je kunt deze annotatie gebruiken om sommige van deze waarschuwingen te verbergen."

"Een programmeur kan de @SuppressWarnings- annotatie gebruiken om de compiler te vertellen: «Geen waarschuwing weergeven voor deze fout - het is opzettelijk.» Bijvoorbeeld:"

Voorbeeld
@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"Begrepen."

"Ik word een beetje moe. Ik ga mijn uitgedroogde keel natmaken. Laten we doorgaan na een pauze, oké?"

"Zeker."