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)階人工智能(鏈接)