午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

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

先講一下java中的反射:

反射就是將類別的各個(gè)組成部分進(jìn)行剖析,可以得到每個(gè)組成部分,就可以對(duì)每一部分進(jìn)行操作

反射機(jī)制應(yīng)用場(chǎng)景:逆向代碼、動(dòng)態(tài)生成類框架等,使用反射機(jī)制能夠大大的增強(qiáng)程序的擴(kuò)展性。

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

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

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

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

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

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é)碼對(duì)象Class<Msym> clazz = (Class<Msym>) Class.forName('online.Msym');//獲取一個(gè)對(duì)象Constructor con = clazz.getConstructor();Msym m = (Msym) con.newInstance();String[] s = new String[]{'aa','bb'};//獲取Method對(duì)象Method method = clazz.getMethod('test', String[].class);//調(diào)用invoke方法來(lái)調(diào)用method.invoke(m, s); }}

測(cè)試會(huì)報(bào)錯(cuò):

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

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

讓我們來(lái)看一下invoke方法:

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

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

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

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

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

測(cè)試一下:

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

結(jié)果可行。

作者:碼上猿夢(mèng)出處:http://www.cnblogs.com/daimajun/

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 精品无人国产偷自产在线 | 免费黄色小视频网站 | 91av亚洲 | 五月天中文字幕mv在线 | 国产精品久久久久久久久借妻 | 成人福利视频在线观看 | 国产视频在线免费观看 | 日本国产视频 | 四虎av在线 | 精品欧美久久 | 日韩精品视频在线 | 中国女人一级一次看片 | 国产精品福利一区 | 亚洲精品一级片 | 日韩中文字幕视频 | 女人高潮特级毛片 | 青青操免费在线视频 | 亚洲成人精品 | 日韩成人一区 | 精品视频久久 | 亚洲精品久久久久久国 | 99精品视频网站 | 国产精品手机在线观看 | 99涩涩| 久久亚洲视频 | 免费看黄在线 | 日本a在线观看 | 亚洲一区二区在线免费 | 乱lun合集男男高h | 极品久久久| a久久久久久 | 国产一级片在线 | 亚洲网在线观看 | 你懂的网址在线观看 | 黄色片一区二区 | 一区在线播放 | 日韩免费观看 | 国产一二三区在线 | 亚洲一在线 | 久久婷婷国产 | 午夜免费精品 |