最近公司正在進(jìn)行業(yè)務(wù)組件化進(jìn)程,其中的路由實(shí)現(xiàn)用到了Java的反射機(jī)制,既然用到了就想著好好學(xué)習(xí)總結(jié)一下,其實(shí)無(wú)論是之前的EventBus 2.x版本還是Retrofit、早期的View注解框架都或多或少的用到Java的反射機(jī)制。以下是自己使用反射的兩個(gè)地方,感興趣的同學(xué)可以看下:Android okHttp網(wǎng)絡(luò)請(qǐng)求之Json解析,Android業(yè)務(wù)組件化之子模塊SubModule的拆分以及它們之間的路由Router實(shí)現(xiàn)。
什么是Java反射機(jī)制?
JAVA反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)類,都能夠知道這個(gè)類的所有屬性和方法;對(duì)于任意一個(gè)對(duì)象,都能夠調(diào)用它的任意一個(gè)方法;這種動(dòng)態(tài)獲取的以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能稱為Java的反射機(jī)制。
反射機(jī)制提供了哪些功能?
-
在運(yùn)行時(shí)判定任意一個(gè)對(duì)象所屬的類
-
在運(yùn)行時(shí)構(gòu)造任意一個(gè)類的對(duì)象;
-
在運(yùn)行時(shí)判定任意一個(gè)類所具有的成員變量和方法;
-
在運(yùn)行時(shí)調(diào)用任意一個(gè)對(duì)象的方法;
-
生成動(dòng)態(tài)代理;
Java反射機(jī)制類:
java.lang.Class; //類 java.lang.reflect.Constructor;//構(gòu)造方法 java.lang.reflect.Field; //類的成員變量 java.lang.reflect.Method;//類的方法 java.lang.reflect.Modifier;//訪問權(quán)限
Java反射機(jī)制實(shí)現(xiàn):
1.)class對(duì)象的獲取
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26