
laredMethod()?法詳解
laredMethod()?法?法
注:?法返回?個Method對象,它反映此Class對象所表?的類或接?的指定已聲明?
描述
laredMethod()?法返回?個Method對象,它反映此Class對象所表?的類或接?的指定已聲明?法。
name參數是?個字符串,指定所需的?法的簡單名稱,
parameterTypes參數是?個數組的Class對象識別?法的形參類型,在聲明的順序
聲明
publicMethodgetDeclaredMethod(Stringname,Class...parameterTypes)throwsNoSuchMethodException,SecurityException
參數
name--?法的名稱
parameterTypes--參數數組
返回值
匹配指定名稱和參數的類的?法,此?法返回的Method對象
異常
NoSuchMethodException--如果匹配?法未找到
NullPointerException--如果name為null.
SecurityException--Ifacuritymanager,s,isprent.
實例
如何使?laredMethod()?法
;
t.*;
publicclassClassDemo{
publicstaticvoidmain(String[]args){
ClassDemocls=newClassDemo();
Classc=ss();
try{
//parametertypeisnull
Methodm=laredMethod("show",null);
n("method="+ng());
//methodInteger
Class[]cArg=newClass[1]
cArg[0]=;
MethodlMethod=laredMethod("showInteger",cArg);
n("method="+ng());
}catch(NoSuchMethodExceptione){
n(ng());
}
}
privateIntegershow(){
return1;
}
publicvoidshowInteger(Integeri){
this.i=i;
}
publicinti=78655;
}
編譯和運?程序,產?以下結果:
method=()
method=teger(r)
注:
getDeclaredMethod()獲取的是類??聲明的所有?法,包含public、protected和private?法。
getMethod()獲取的是類的所有共有?法,這就包括??的所有public?法,和從基類繼承的、從接?實現的所有public?法。
本文發布于:2023-03-08 22:32:43,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/167828596319279.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:carg.doc
本文 PDF 下載地址:carg.pdf
| 留言與評論(共有 0 條評論) |