java之用反射實(shí)現(xiàn)方法(已知實(shí)體對(duì)象和實(shí)體參數(shù))
1、問題
有個(gè)函數(shù)需要在Android 23(6.0)以上,但是我們的API是22,所以這個(gè)實(shí)體對(duì)象調(diào)用不了這個(gè)函數(shù),這個(gè)時(shí)候我們應(yīng)該想到的是反射,切記。
2、實(shí)現(xiàn)
同時(shí)看我寫得很著急,因?yàn)槲沂窍萩lass.forName("***"),然后再去getMethod("**"),然后method.invoke("**");
我們可以快速這樣寫
Method m = 實(shí)體對(duì)象的類名.class.getDeclearedMethod("methodName", 實(shí)體參數(shù)類名.class, boolean.class, int.class);
m.invoke(實(shí)體對(duì)象, 實(shí)體參數(shù), false);
3、總結(jié)
如果這個(gè)類的實(shí)體對(duì)象調(diào)用不到這個(gè)函數(shù),但是實(shí)際上又有這個(gè)函數(shù),我們要用反射,反正就是一句話,函數(shù)調(diào)用不到的時(shí)候記得用反射。
作者:chen.yu
深信服三年半工作經(jīng)驗(yàn),目前就職游戲廠商,希望能和大家交流和學(xué)習(xí),
微信公眾號(hào):編程入門到禿頭 或掃描下面二維碼
零基礎(chǔ)入門進(jìn)階人工智能(鏈接)