真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

通過反射實(shí)現(xiàn)Java下的委托機(jī)制代碼詳解-創(chuàng)新互聯(lián)

簡述

創(chuàng)新互聯(lián)從2013年開始,先為鐵鋒等服務(wù)建站,鐵鋒等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為鐵鋒企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

一直對(duì)Java沒有現(xiàn)成的委托機(jī)制耿耿于懷,所幸最近有點(diǎn)時(shí)間,用反射寫了一個(gè)簡單的委托模塊,以供參考。

模塊API

public Class Delegater()//空參構(gòu)造,該類管理委托實(shí)例并實(shí)現(xiàn)委托方法 
//添加一個(gè)靜態(tài)方法委托,返回整型值ID代表該方法與參數(shù)構(gòu)成的實(shí)例。若失敗,則返回-1。 
public synchronized int addFunctionDelegate(Class<?> srcClass,String methodName,Object... params);
//添加一個(gè)實(shí)例方法委托,返回整型值ID代表該方法與參數(shù)構(gòu)成的實(shí)例。若失敗,則返回-1。 
public synchronized int addFunctionDelegate(Object srcObj,String methodName,Object... params);
//根據(jù)整型ID從委托實(shí)例中刪除一個(gè)方法委托,返回是否成功 
public synchronized Boolean removeMethod(int registerID);
//依次執(zhí)行該委托實(shí)例中的所有方法委托(無序) 
public synchronized void invokeAllMethod();
//將參數(shù)表轉(zhuǎn)換為參數(shù)類型表 
private Class<?>[] getParamTypes(Object[] params);
//由指定的Class、方法名、參數(shù)類型表獲得方法實(shí)例 
private Method getDstMethod(Class<?> srcClass,String methodName,Class<?>[] paramTypes);
class DelegateNode(Method refMethod,Object[] params)//DelegateNode類在不使用Object構(gòu)造時(shí)敘述了一個(gè)靜態(tài)方法委托,包括方法實(shí)例及參數(shù)表 
class DelegateNode(Object srcObj,Method refMethod,Object[] params)//DelegateNode類在使用Object構(gòu)造時(shí)敘述了一個(gè)實(shí)例方法委托,包括類實(shí)例、方法實(shí)例及參數(shù)表 
public void invokeMethod();
//執(zhí)行該節(jié)點(diǎn)敘述的方法委托

本文名稱:通過反射實(shí)現(xiàn)Java下的委托機(jī)制代碼詳解-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://weahome.cn/article/hghsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部