天天看點

java之用反射實作方法(已知實體對象和實體參數)

1、問題

有個函數需要在Android 23(6.0)以上,但是我們的API是22,是以這個實體對象調用不了這個函數,這個時候我們應該想到的是反射,切記。

2、實作

同時看我寫得很着急,因為我是先class.forName("***"),然後再去getMethod("**"),然後method.invoke("**");

我們可以快速這樣寫

Method m = 實體對象的類名.class.getDeclearedMethod("methodName", 實體參數類名.class, boolean.class, int.class);

m.invoke(實體對象,  實體參數, false);

3、總結

如果這個類的實體對象調用不到這個函數,但是實際上又有這個函數,我們要用反射,反正就是一句話,函數調用不到的時候記得用反射。

繼續閱讀