Video: Week 1, continued 2024
Typen och innehållet i annoteringar i Java, som kommentarer, är begränsade endast av fantasin. Ja, Java innehåller några fördefinierade anteckningar, men du kan också skapa anteckningar som beskriver programelement på något sätt du vill. Tanken är att du beskriver hur en anteckning ska fungera, ge data för det och kompilatorn tar hand om resten.
Anteckningar börjar alltid med @ (at) -symbolen. Så, när du ser @Documented, vet du att du ser en kommentar. Följande avsnitt beskriver dig mer om fördefinierade och anpassade kommentarer.
En fördefinierad anteckning är en som finns som en del av Java. Du hittar dessa anteckningar i java. lang. annoteringspaket. För att använda dem lägger du till import java. lang. anteckning. *; till början av din ansökan. Följande lista ger en översikt över de fördefinierade anteckningarna:
-
@Deprecated: Ibland ersätts ett -element - en klass-, metod-, fält- eller annan programmeringsfunktion - av ett nyare element eller helt enkelt inte längre behövs.
När det här händer markerar du elementet som avvecklat så att utvecklare vet att de behöver uppdatera sin kod och sluta använda det aktuella elementet. Om du lägger till @Deprecated-annoteringen matas elementets utökad status i dokumentationen som genereras av Javadoc (ett verktyg som används för att skapa dokumentation automatiskt baserat på innehållet i dina kodfiler).
-
@Documented: När du markerar ett element som dokumenterat, matar Javadoc-verktyget det till dokumentationsfilen det skapar baserat på källfilens innehåll.
-
@FunctionalInterface: Anger att gränssnittet är ett funktionellt gränssnitt som används för anonyma klasser och lambda-uttryck.
-
@Inherited : Klasser kan ärva egenskaper från en föräldraklass. Som standard inkluderar detta funktionalitet som metoder, men inkluderar inte föräldrarklassens kommentarer. Genom att använda @Inherited-anteckningen berättar Java att tillämpa moderklassannotationerna i underklassen också.
-
@Override: Anger att ett barn klasselement överstyrer ett superklass (föräldraklass) element. Om den här anteckningen är närvarande och superklassen saknar ett element med samma namn, så visar kompilatorn ett fel så att du vet att något är fel med överstyrningen.
-
@Repeatable: De flesta annoteringar tillämpas bara en gång till ett visst element. I vissa fall måste du ange annoteringen mer än en gång. Denna anteckning berättar för Java att det är acceptabelt att anbringa annoteringen till ett visst element mer än en gång.
-
@Retention: En anteckning kan endast påverka källkoden; källkoden och kompilatorn; eller källkoden, kompilatorn och JVM. Denna anteckning definierar vilken effekt en annan kommentar skulle ha. Du kan till exempel bara behöva en dokumentationsspecifik kommentar för att påverka källkoden och kompilatorn.
-
@SafeVarargs: Det går att utföra operationer som inte är säkra på de argument som överförs till en metod eller konstruktör. Denna anmärkning säger att koden inte gör något osäkert och därför inte kräver alla vanliga kontroller. Att minska antalet kontroller gör att programmet körs snabbare.
-
@SuppressWarnings: Java-kompilatorn matar ut en mängd varningar för att signalera potentiella problem. Om du till exempel försöker använda en avstängd metod i din kod, skickar kompilatorn ett varningsmeddelande om det. Den här anteckningen berättar att kompilatorn inte matar ut sådana varningar för det drabbade elementet.
-
@Target: När du skapar egna noteringar kan det vara till hjälp att berätta för kompilatorn att dessa anteckningar endast skulle kunna påverka en viss elementtyp. Om du till exempel skapar ett författarblock som endast ska visas på paketnivå kan du begränsa annoteringen till bara den elementstypen med hjälp av @Target-anteckningen.