Annotazioni sono estremamente semplici da usare , e può essere applicato a più aree del codice. Un esempio di utilizzo di alcune annotazioni sarebbe:
@ Deprecated
public class MyClass ...
che segnerebbe la classe come " deprecato " , che significa che non dovrebbe essere utilizzato se possibile . Un'altra annotazione utile a scopo dimostrativo è il SuppressWarnings annotazione :
@ SuppressWarnings ( " non utilizzati ")
somethingWithUnusedVariables public void () { ....
Con questo esempio , si può vedere che è possibile passare informazioni alla annotazione - in questo caso , il tipo di avvertimenti per sopprimere - che può quindi essere utilizzato da diversi strumenti, quali il compilatore
cosa è . una annotazione ?
codice Java , un'annotazione è poco più di una interfaccia normale. La creazione di uno è estremamente semplice :
pubblica @ interfaccia MyAnnotation {
}
Questa nuova annotazione può essere utilizzato ovunque , come ad esempio per decorare una classe:
@ MyAnnotation
classe SomeClass pubblico ...
Naturalmente , in questa forma , è piuttosto inutile - non contiene dati e per default tutte le annotazioni vengono memorizzate con il file di classe , ma sono non accessibile in fase di runtime , in modo da servire come poco più di un commento in più.
Creazione di annotazioni utili
come affermato in precedenza , da annotazioni predefinite non sono disponibili a runtime. Questo va bene se si sta semplicemente usando come indicatore di qualche tipo per altri sviluppatori di prendere atto di , o se avete intenzione di fare un po ' di trasformazione del bytecode di livello , ma al fine di accedere al vostro annotazione a runtime ( via riflessione ) è necessario indicare al compilatore di farlo. È possibile farlo con annotazione anotherent che si applica alla vostra nuova annotazione :
@ Retention ( RetentionPolicy.RUNTIME ) per
Questo vi permetterà di accedere alle informazioni di annotazione - mediante la riflessione - mentre il codice è in esecuzione ed elaborare di conseguenza.
Reading informazioni annotazione
lettura informazioni annotazione in fase di esecuzione è un po 'difficile , ma affatto impossibile . Utilizzando le funzionalità di riflessione di Java , è possibile ottenere le annotazioni che vengono applicati a una classe , metodo o campo , nonché delle notizie in tale annotazione . Ad esempio , si consideri il seguente semplice annotazione :
@ Retention ( RetentionPolicy.RUNTIME ) per
pubblica @ interfaccia Autore {
valore String
( ) ;
}
applicato a una classe in questo modo:
@ Author ( " John Doe " ) per
public class MyClass { ...
È possibile ottenere le informazioni di autore con il seguente codice :
finale Autore author = MyClass.class.getAnnotation ( Author.class ) ;
System.out.println ( author.value ( ) ) ;
Programmazione © www.354353.com