av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

深入解析Java中反射中的invoke()方法

瀏覽:4日期:2022-08-11 13:36:10

先講一下java中的反射:

反射就是將類別的各個組成部分進行剖析,可以得到每個組成部分,就可以對每一部分進行操作

反射機制應用場景:逆向代碼、動態(tài)生成類框架等,使用反射機制能夠大大的增強程序的擴展性。

反射的基本步驟:首先獲得Class對象,然后實例化對象,獲得類的屬性、方法或者構(gòu)造函數(shù),最后訪問屬性、調(diào)用方法、調(diào)用構(gòu)造函數(shù)創(chuàng)建對象。而invoke()方法就是用來執(zhí)行指定對象的方法。

在比較復雜的程序或框架中來使用反射技術(shù),可以簡化代碼提高程序的復用性。

講的是Method類的invoke()方法。

深入解析Java中反射中的invoke()方法

既然是講invoke方法,那就不講怎么使用反射了,代碼上來先:

package online;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import org.junit.Test;public class Msym {public void test(String[] arg){for (String string : arg) { System.out.println(string);} } @Test public void demo1() throws Exception {//獲取字節(jié)碼對象Class<Msym> clazz = (Class<Msym>) Class.forName('online.Msym');//獲取一個對象Constructor con = clazz.getConstructor();Msym m = (Msym) con.newInstance();String[] s = new String[]{'aa','bb'};//獲取Method對象Method method = clazz.getMethod('test', String[].class);//調(diào)用invoke方法來調(diào)用method.invoke(m, s); }}

測試會報錯:

深入解析Java中反射中的invoke()方法

紅色框框顯示是參數(shù)錯誤,test方法需要是字符串數(shù)組啊,我傳遞也是字符串數(shù)組,怎么就不對了??

讓我們來看一下invoke方法:

深入解析Java中反射中的invoke()方法

invoke方法的參數(shù),一個是Object類型,也就是調(diào)用該方法的對象,

第二個參數(shù)是一個可變參數(shù)類型,這個可變參數(shù)類型怎么能傳遞給一個數(shù)組類型呢?一個是多個參數(shù)。一個是一個數(shù)組參數(shù),顯然參數(shù)的個數(shù)不匹配,怎么解決呢?

解決辦法就是將可變參數(shù)變成一個參數(shù):

將傳遞進去的s強轉(zhuǎn)為Object類型 將s重新包裝成一個Object數(shù)組

測試一下:

深入解析Java中反射中的invoke()方法

結(jié)果可行。

作者:碼上猿夢出處:http://www.cnblogs.com/daimajun/

到此這篇關(guān)于深入解析Java中反射中的invoke()方法的文章就介紹到這了,更多相關(guān)Java invoke()內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美精品一区二区三区在线播放 | 91一区二区在线观看 | 国产一区二区三区久久久久久久久 | 美女久久久久 | 欧美日韩精品区 | 精品国产视频 | 亚洲综合视频 | 美女天天操 | 乱一性一乱一交一视频a∨ 色爱av | 亚洲午夜一区二区 | 四虎影院在线免费观看 | 成年人黄色小视频 | 国产日韩欧美在线 | 国产精品一区久久久 | 亚洲视频一区 | 日本免费小视频 | 日韩国产免费观看 | 亚洲视频欧美视频 | 欧美一区二区三区四区五区无卡码 | 色噜噜亚洲男人的天堂 | 国产精品视频一区二区三区, | 亚洲成人自拍 | xxxcom在线观看| 久久一| 久久九| 国产成人久久av免费高清密臂 | 精品美女| 综合久久国产 | 国产小u女发育末成年 | 特黄小视频 | 欧美日韩国产在线 | 亚洲先锋影音 | 一区二区三区视频免费观看 | 午夜网| av黄色片在线观看 | 久久精品91| 特黄色一级毛片 | 欧美xxxx性xxxxx高清 | 亚洲日本一区二区 | 欧美日韩成人影院 | 日本视频中文字幕 |