首頁  >  文章  >  Java  >  java註解的實作原理是什麼

java註解的實作原理是什麼

hzc
hzc原創
2020-06-13 14:39:4113563瀏覽

java註解的實作原理是什麼

註解實作原理

#一、什麼是註解?


    對於許多初次接觸的開發者來說應該都有這個疑問? Annontation是Java5開始引入的新特徵,中文名稱叫做註解。它提供了一種安全的類似註釋的機制,用來將任何的資訊或元資料(metadata)與程式元素(類別、方法、成員變數等)進行關聯。為程式的元素(類別、方法、成員變數)加上更直觀更明了的說明,這些說明資訊是與程式的業務邏輯無關,並且供指定的工具或框架使用。 Annontation像一種修飾詞一樣,應用於套件、類型、建構方法、方法、成員變數、參數及本地變數的宣告語句中。

 Java註解是附加在程式碼中的一些元訊息,用於一些工具在編譯、執行時進行解析和使用,起到說明、配置的功能。註解不會也不能影響程式碼的實際邏輯,只是起到輔助性的作用。包含在 java.lang.annotation 套件中。

二、註解的用處:


      1、產生文件。這是最常見的,也是java 最早提供的註解。常用的有@param @return 等

      2、追蹤程式碼依賴性,實現替代設定檔功能。例如Dagger 2 依賴注入,未來java 開發,將大量註解配置,具有很大用處;
      3、編譯時進行格式檢驗。如@override 放在方法前,如果你這個方法並不是覆寫了超類別方法,則編譯時就能檢查出。

三、註解的原理:


  註解本質是一個繼承了Annotation 的特殊接口,其具體實作類別是Java 執行時間產生的動態代理類。而我們透過反射取得註解時,傳回的是Java 執行時期產生的動態代理物件$Proxy1。透過代理物件呼叫自訂註解(介面)的方法,會最終呼叫AnnotationInvocationHandler 的invoke 方法。這個方法會從memberValues 這個Map 索引出對應的值。而memberValues 的來源是Java 常數池。

推薦教學: 《java教學

#

以上是java註解的實作原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn