Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Perché l' annotazione Java ignorato nel codice ?

Java annotazioni , aggiunte in Java 1.5 , è possibile aggiungere informazioni supplementari su una classe , metodo o campo. Questa informazione può essere utilizzata in vari modi , come ad esempio in dettaglio come un programma deve eseguire, o quali metodi deve essere evitato da altri sviluppatori . A seconda di come le annotazioni erano originariamente codificati , questa informazione può essere disponibile solo nel codice sorgente originale , quando si lavora con la classe compilata direttamente o in fase di esecuzione attraverso la riflessione . ? Che cosa sono Annotazioni

In poche parole , una annotazione è un mezzo di aggiunta di ulteriori informazioni - anche noti come metadati - per il vostro programma sulla voce annotato. Questa informazione può essere semplice come una paternità specificando nota o qualcosa di così complesso come l'associazione di un campo con una colonna di database . Le annotazioni possono essere gestiti in uno dei tre modi : stando unicamente nel codice sorgente originale, in cui sono generalmente visibili solo agli altri sviluppatori , per essere compilato in bytecode , in cui non sono disponibili per l'elaborazione di runtime, ma sono a disposizione per programmi che accedono ai file di classe , e in fase di compilazione in modo le informazioni vengono caricate in fase di esecuzione in modo che il programma in esecuzione può accedervi
Perché Richiede annotazione Dettagli al runtime

causa . ? uno sviluppatore può indicare ulteriori informazioni su un elemento, di avere questa informazione disponibile in runtime può consentire a un programma di agire in modo diverso per quella voce senza necessariamente richiedere che le informazioni da compilare (o anche la funzione ) . Ad esempio, si consideri una annotazione che associa un campo con una colonna di database , forse sarebbe simile a questa :

@ DBField ( " NOME " ) per

private String firstName ;

Durante l'esecuzione , il programma in grado di leggere le informazioni e rendersi conto che deve riempire il campo in base al contenuto di tale colonna (concesso , sarebbe anche bisogno di tabella e le informazioni fila) . Questo permetterebbe anche all'utente di scrivere , per esempio , un data generica routine di gestione che si basa su annotazioni e non ha bisogno di molto di specializzazione per
ogni classe .
Come annotazioni Java vengono ignorate

Come detto in precedenza , ci sono tre modi per il compilatore per gestire una annotazione che incontra in codice : da demolizione (e lasciando in tal modo solo nel codice ) , mediante la compilazione in bytecode e compilandolo in bytecode con le informazioni necessarie per caricarlo a runtime . La seconda opzione - compilazione in bytecode ( senza caricarla in fase di esecuzione ) - è l'impostazione predefinita per tutte le annotazioni , quindi a meno che non diversamente specificato, un'annotazione non sarà disponibile a runtime. Tuttavia, specificando questo è estremamente semplice se si ha accesso al codice sorgente della nota. Basta aggiungere un'annotazione aggiuntiva alla definizione della nota:

@ Retention ( RetentionPolicy.RUNTIME ) per

pubblica @ interfaccia MyAnnotation ...
utilizzando l'annotazione a runtime

Una volta verificato l'annotazione è disponibile in fase di esecuzione , il suo utilizzo è estremamente semplice . Supponendo di avere una annotazione di nome "Autore" con un valore di stringa , è possibile utilizzare il seguente codice per assicurarsi che non ha accesso runtime per l'annotazione :

finale Autore author = MyClass.class.getAnnotation ( Author. classe);

System.out.println ( author.value ());

In questo caso , MyClass sarebbe stata dichiarata come segue :

@ Author ( " John Doe " ) per classe

MyClass pubblico ...

Quando eseguite le righe sopra , si dovrebbe ottenere il valore per l'annotazione ( " John Doe ", in questo caso) stampato sulla console .

 

Programmazione © www.354353.com