Anteckningar sattes till Java i Java 1.5 och kan enkelt lägga till en helt ny dynamik till vanlig programmering . Enkelt uttryckt , anteckningar är ett sätt att lägga till metadata till olika aspekter av en klass , extra information som kan användas för att ändra hur klassen beter sig eller helt enkelt för att ytterligare beskriva det på sätt inte lätt verkställbara via vanliga medel . Använda Anteckningar
Anteckningar är extremt enkel att använda , och kan tillämpas på flera områden av din kod . Ett exempel på någon anteckning användning skulle vara :
@ Borttagen
public class MyClass ...
Vilket skulle markera klass som " föråldrat " , vilket innebär att den inte bör användas om det alls är möjligt . En annan anteckning användbar för demonstrativa ändamål är SuppressWarnings anteckning :
@ SuppressWarnings ( " oanvända " ) katalog
public void somethingWithUnusedVariables ( ) { ....
Med detta exempel , kan du se att du kan skicka information till anteckningen - i det här fallet , att den typ av varningar undertrycka - som sedan kan användas av olika verktyg, såsom kompilatorn Addera Vad är . en anteckning ?
Java-kod , är en anteckning lite mer än en vanlig gränssnitt . Skapa en är mycket enkel :
allmänheten @ interface MyAnnotation {
}
Denna nya anteckningen kan användas överallt , till exempel för att dekorera en klass :
@ MyAnnotation
public class SomeClass ...
Naturligtvis i denna form , är det ganska meningslöst - det innehåller inga data och som standard alla anteckningar sparas med klassen filen men är inte tillgänglig vid körning , så de tjänar så lite mer än en extra kommentar .
skapa användbara anteckningar
som nämnts tidigare , som standard anteckningar är tillgänglig vid runtime . Detta är bra om du bara använder det som en markör av något slag för andra utvecklare att ta del av , eller om du ska göra några bytekod - nivå bearbetning , men för att komma åt dina anteckningar vid körning ( via reflektion ) måste du tala om för kompilatorn att göra så . Du kan göra detta med anotherent anteckning som du använder till din nya anteckning :
@ Retention ( RetentionPolicy.RUNTIME ) katalog
Detta gör att du kan komma åt kommentaren informationen - genom reflektion - medan din kod körs och behandla det därefter. Addera Läsa annotering Information
Läsa anteckning uppgifter vid körning är lite knepigt , men inte alls omöjligt . Använda Java eftertanke funktionalitet , kan du få de anteckningarna som tillämpas på en klass , metod eller fält , samt alla uppgifter som ingår i denna anteckning . Till exempel överväga följande enkla anteckning :
@ Retention ( RetentionPolicy.RUNTIME ) katalog
offentliga @ interface Författare {
String value ( ) ;
}
tillämpas på en klass som så :
@ författare ( " John Doe " ) katalog
public class MyClass { ...
Du kan få författaren informationen med följande kod :
final Författare author = MyClass.class.getAnnotation ( Author.class ) ;
System.out.println ( author.value ( ) ) ;
Addera ditt