CodeGym/Java blog/Tilfældig/Anmærkninger. Del 1 - lidt kedelig
John Squirrels
Niveau
San Francisco

Anmærkninger. Del 1 - lidt kedelig

Udgivet i gruppen
Del 1. Jeg har skrevet meget kort om annoteringer af typen SOURCE og CLASS. Dette er værd at læse, for at undgå at fare vild i anden del og for at udvide din "misforståelse" lidt =) Jeg lover, at der helt sikkert vil være mindst ét ​​ord, du kender! Anmærkninger.  Del 1 - lidt kedelig - 1 Første gang jeg så annoteringer i opgaverne her, var jeg på en eller anden måde ikke opmærksom på dem. Der er @Override her og der, men IDEA tilføjer det, så jeg tænkte, at det måtte være sådan. Med tiden indså jeg, at alting er meget dybere. Når du studerer, kan anmærkninger virke noget ubrugelige, men nødvendige. Du ved ikke, hvorfor de eksisterer, eller hvad de gør. Du har læst et par artikler, der sagde, "det er så fantastisk, at vi har anmærkninger nu, alt er blevet så enkelt." Men jeg vidste ikke, hvordan tingene var før, og jeg forstod ikke, at tingene er nemmere nu. Nu ved jeg det og vil gerne dele lidt. Der er 3 typer (RetentionPolicy) annoteringer:
  • KILDE — Annoteringer til compileren
  • KLASSE — Information fra annoteringen vil blive skrevet i bytekode, men ikke tilgængelig under kørsel. De siger, at standardbiblioteket har mange annotationer af denne type, som nu bevares for bagudkompatibilitet. Dette bruges til meget specifikke opgaver.
  • Spørgsmål og svar om StackOverflow
  • RUNTIME — Disse annoteringer er de mest populære. De bruges, mens koden udføres.
Indledningen optog en del af artiklen, så jeg vil her skrive om KILDE- og KLASSE-annoteringer. Dette er de annoteringer, jeg kunne finde (takket være Opgave 3607). Jeg vil ikke behandle runtime-annoteringer - der er for mange af dem, og de er ikke emnet for denne artikel. KILDE:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • java/lang/Override.class
KLASSE: Jeg ved ikke, hvorfor CLASS-anmærkninger er nødvendige. Dokumentationen for de eksisterende annoteringer er ingen steder at finde, så jeg tror, ​​du kan bare lade denne bagage ligge. Men hvis du finder det, så del gerne. SOURCE annoteringer:
  1. Native — En variabel med denne annotation kan referere til native kode;
  2. SuppressWarnings — Denne annotation undertrykker forskellige kompileringsadvarsler;
  3. Genereret — Denne annotation markerer kildekode, der blev genereret;
  4. Tilsidesæt — Denne anmærkning kontrollerer metodetilsidesættelser.
For mere information:

@Hjemmehørende

Native - Jeg har aldrig set dette og aldrig brugt det. Jeg synes, det er en ret sjælden anmærkning, fordi den bruges, når du skal køre kode på et andet "native" sprog. Jeg prøvede, men det lykkedes ikke at finde en klar omtale af det.

@SuppressWarnings

SuppressWarnings — Denne annotation bruges ofte sådan her: @SuppressWarnings("unchecked"). Det bruges til at undertrykke advarsler, som du allerede er opmærksom på. Det forrige eksempel undertrykker advarsler om umarkerede typekonverteringer. Igen, dette er den eneste brug, jeg har stødt på.

@Genereret

Genereret — Jeg løber ind i denne annotation lige nu på grund af en opgave, hvor jeg skal generere klasser fra XSD-filer. Disse 3 annoteringer er ret specifikke og er højst sandsynligt uinteressante for dig i øjeblikket. Jeg vil beskrive den sidste.

@Tilsidesæt

Tilsidesæt — Du bruger det konstant, og det gør noget meget nyttigt. Når man tilsidesætter en metode, er det nemt at lave en fejl uden IDEAs hjælp. Uanset om det er slåfejl eller simple fejl, sker der fejl. Denne annotering vil sikre, at metoden i den overordnede klasse matcher vores (annoterede) metode. Dette sikrer, at metoden vil blive tilsidesat i stedet for at blive tilføjet. Ved refactoring kode kan den overordnede metode fjernes eller ændres. Igen vil denne annotation angive en fejl. Uden den ville vores metode blot blive tilføjet. Kedelig? Jeg ville sige ja. Der er ikke meget nyttigt at hente ud af denne artikel. Næsten alt (90%) her beskriver noget, som du aldrig vil bruge eller kun meget sjældent. De resterende 10 % siger hej til og beskriver @Override-annotationen, som ved første øjekast er ubrugelig. Når det er sagt, tror jeg, at den anden del af artiklen vil være mere interessant. Der vil diskutere RUNTIME-annoteringer - de interagerer med koden under udførelsen og laver sort magi. Anmærkninger. Del 2. Lombok
Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu