Adnotare (Java)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 11 decembrie 2021; verificările necesită 3 modificări .

O adnotare Java  este o formă specială de metadate sintactice în limbajul Java care poate fi adăugată la codul sursă .

Adnotările sunt folosite pentru analiza codului, compilare sau execuție . Pachete adnotate, clase, metode, variabile și parametri.

Arată ca @ИмяАннотации, precedând definirea unei variabile, a unui parametru, a unei metode, a unei clase, a unui pachet.

Aplicație

Adnotarea îndeplinește următoarele funcții:

Adnotări inline

Adnotări aplicate codului sursă:

Adnotări aplicate altor adnotări:

Exemplu

clasă publică animal { public nud vorbire () { } } clasă publică Cat extins Animal { @Override // Adnotare care indică faptul că această metodă înlocuiește metoda clasei părinte cu același nume public void speak () { System . afară . println ( "Miau." ); } @Deprecated // Adnotare care indică faptul că această metodă este depreciată și va fi eliminată în curând public boolean soundsGood () { return true ; } }

Crearea de adnotări

O declarație de adnotare este similară cu o declarație de interfață folosind semnul @ în fața cuvântului cheie interface  :

@ Mâncare alimentară comestibilă = mâncare nouă (); public @interface Edible { // creează-ți propria adnotare }

Adnotările personalizate pot include diverse valori, care sunt descrise ca metode de adnotare. Fiecare declarație de metodă definește un element de adnotare. Declarația metodei nu trebuie să includă niciun argument sau instrucțiuni throws. Tipul returnat trebuie să fie unul dintre: un tip primitiv , un șir , o clasă , un tip enumerat și o matrice care conține tipul de date listat mai devreme. Metodele pot avea valori implicite.

@Edible ( true ) // atribuie valoare adevărată alimentelor comestibile Food = new Food ( ); public @interface Comestibil { boolean comestibil () implicit fals ; // implicit comestibil va fi fals } public @interface Autor { String prenume (); String prenume (); } @Author ( first_name = "James" , last_name = "Gosling" ) Carte de carte = Carte nouă (); // O adnotare poate fi, de asemenea, adnotată pentru a-și defini domeniul de aplicare @Target ({ ElementType . METHOD }) public @interface SomeAnnotation {} clasă publică SomeClass { @SomeAnnotation private void doSomething (){} }

Istorie

Inițial, platforma Java avea un mecanism care a precedat mecanismul de adnotare, cum ar fi modificatorul tranzitoriu sau eticheta @Deprecated . În septembrie 2002, JSR-175 a fost prezentat comunității Java, descriind punctele principale despre adnotări. A fost aprobat în 2004. Adnotările au devenit disponibile în limba însăși începând cu versiunea 1.5 a JDK și sunt descrise în JSR-269. În versiunea 1.6, adnotările au fost integrate în compilatorul javac .

Link -uri