1. 程式人生 > >android的反射和註解

android的反射和註解

反射的文章http://www.cnblogs.com/lzq198754/p/5780331.html

反射是java中一種強大的工具,能夠使我們很方便的建立靈活的程式碼,這些程式碼可以再執行時裝配

1反射機制是什麼

反射機制是在執行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意一個方法和屬性;這種動態獲取的資訊以及動態呼叫物件的方法的功能稱為java語言的反射機制。

2反射機制能做什麼

反射機制主要提供了以下功能: 

  • 在執行時判斷任意一個物件所屬的類;

  • 在執行時構造任意一個類的物件;

  • 在執行時判斷任意一個類所具有的成員變數和方法;

  • 在執行時呼叫任意一個物件的方法;

  • 生成動態代理。


  Java的註解(Annotation)相當於一種標記,在程式中加入註解就等於為程式打上某種標記,標記可以加在包,類,屬性,方法,本地變數上。然後你可以寫一個註解處理器去解析處理這些註解(人稱編譯時註解),也可以在程式執行時利用反射得到註解做出相應的處理(人稱執行時註解)。

二,反射機制的作用:

              1,反編譯:.class-->.java

              2,通過反射機制訪問java物件的屬性,方法,構造方法等;

1,使用反射的註解框架簡單但是帶來的就是效能問題(因為在執行時處理),破壞了程式的封裝性,比如XUtils框架

2,不使用反射,在編譯時期的註解,會增加編譯時間困難留給程式設計師,但是給使用者的效能就比較好,比如butterknife註解開源框架