CodeGym /Blog Java /Aleatoriu /Adnotări. Partea 1 - puțin plictisitor
John Squirrels
Nivel
San Francisco

Adnotări. Partea 1 - puțin plictisitor

Publicat în grup
Partea 1. Am scris foarte pe scurt despre adnotările de tip SOURCE și CLASS. Merită citit asta, pentru a nu te pierde în partea a doua și pentru a-ți extinde puțin „neînțelegerea” =) Îți promit cu siguranță că va exista măcar un cuvânt pe care îl cunoști! Adnotări.  Partea 1 - puțin plictisitor - 1 Prima dată când am văzut adnotări în sarcinile de aici nu le-am acordat cumva prea multă atenție. Există @Override ici și colo, dar IDEA adaugă asta, așa că m-am gândit că trebuie să fie așa. De-a lungul timpului, mi-am dat seama că totul este mult mai profund. Pe măsură ce studiezi, adnotările pot părea oarecum inutile, dar necesare. Nu știi de ce există sau ce fac. Ați citit câteva articole care spuneau: „Este atât de grozav că avem adnotări acum, totul a devenit atât de simplu”. Dar nu știam cum stau lucrurile înainte și nu înțelegeam că lucrurile sunt mai ușoare acum. Acum știu și vreau să împărtășesc puțin. Există 3 tipuri de adnotări (RetentionPolicy):
  • SOURCE — Adnotări pentru compilator
  • CLASS — Informațiile din adnotare vor fi scrise în bytecode, dar nu sunt disponibile în timpul execuției. Ei spun că biblioteca standard are multe adnotări de acest tip, care este acum reținută pentru compatibilitate inversă. Acesta este folosit pentru sarcini foarte specifice.
  • Întrebări și răspunsuri despre StackOverflow
  • RUNTIME — Aceste adnotări sunt cele mai populare. Ele sunt utilizate în timpul executării codului.
Introducerea a ocupat o parte din articol, așa că voi scrie aici despre adnotările SOURCE și CLASS. Acestea sunt adnotările pe care le-am putut găsi (mulțumită Sarcinii 3607). Nu voi aborda adnotările de execuție - sunt prea multe și nu fac subiectul acestui articol. SURSĂ:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • java/lang/Override.class
CLASĂ: Nu știu de ce sunt necesare adnotările CLASS. Documentația pentru adnotările existente nu poate fi găsită nicăieri, așa că cred că puteți lăsa acest bagaj în urmă. Dar dacă îl găsiți, vă rugăm să distribuiți. adnotări SOURCE:
  1. Nativ — O variabilă cu această adnotare se poate referi la codul nativ;
  2. SuppressWarnings — Această adnotare suprimă diverse avertismente ale compilatorului;
  3. Generat — Această adnotare marchează codul sursă care a fost generat;
  4. Suprascriere — Această adnotare verifică suprascrierile metodei.
Pentru mai multe informatii:

@Nativ

Nativ – nu am văzut niciodată asta și nu l-am folosit. Cred că aceasta este o adnotare destul de rară, deoarece este folosită atunci când trebuie să rulați cod într-o altă limbă „nativă”. Am încercat și nu am reușit să găsesc o mențiune clară despre asta.

@SuppressWarnings

SuppressWarnings — Această adnotare este adesea folosită astfel: @SuppressWarnings(„unchecked”). Este folosit pentru a suprima avertismentele pe care le cunoașteți deja. Exemplul anterior suprimă avertismentele despre conversiile de tip neverificate. Din nou, aceasta este singura utilizare pe care am întâlnit-o.

@Generat

Generat — Întâlnesc această adnotare chiar acum din cauza unei sarcini în care trebuie să generez clase din fișiere XSD. Aceste 3 adnotări sunt destul de specifice și sunt cel mai probabil neinteresante pentru dvs. în prezent. O voi descrie pe ultimul.

@Trece peste

Override — Îl folosești în mod constant și face ceva foarte util. Când treceți peste o metodă, este ușor să faceți o greșeală fără ajutorul IDEA. Indiferent dacă greșeli de scriere sau simple erori, greșelile apar. Această adnotare se va asigura că metoda din clasa părinte se potrivește cu metoda noastră (adnotată). Acest lucru asigură că metoda va fi înlocuită mai degrabă decât adăugată. La refactorizarea codului, metoda părinte poate fi eliminată sau modificată. Din nou, această adnotare va indica o eroare. Fără ea, metoda noastră ar fi pur și simplu adăugată. Plictisitor? Aș spune că da. Nu există prea multe lucruri utile de adunat din acest articol. Aproape totul (90%) descrie aici ceva pe care nu îl vei folosi niciodată sau doar foarte rar. Restul de 10% salută și descrie adnotarea @Override, care la prima vedere este inutilă. Acestea fiind spuse, cred că în a doua parte a articolului va fi mai interesant. Se vor discuta despre adnotările RUNTIME — acestea interacționează cu codul în timpul execuției și fac magie neagră. Adnotări. Partea 2. Lombok
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION