java中Method類有什么作用
2 回答

隔江千里
TA貢獻1906條經(jīng)驗 獲得超10個贊
java Method類是最終類,不能繼承,使用方式如下:
/** */ package com.timer.demo.objectsocket; import java.lang.reflect.Method; /** * @author 崔冉 * */ public class InvokeTester { public int add( int param1, int param2) { return param1 + param2; } public String echo(String mesg) { return "echo" + mesg; } public static void main(String[] args) throws Exception { Class classType = InvokeTester. class ; Object invokertester = classType.newInstance(); Method addMethod = classType.getMethod( "add" , new Class[] { int . class , int . class }); //Method類的invoke(Object obj,Object args[])方法接收的參數(shù)必須為對象, //如果參數(shù)為基本類型數(shù)據(jù),必須轉(zhuǎn)換為相應(yīng)的包裝類型的對象。invoke()方法的返回值總是對象, //如果實際被調(diào)用的方法的返回類型是基本類型數(shù)據(jù),那么invoke()方法會把它轉(zhuǎn)換為相應(yīng)的包裝類型的對象, //再將其返回 Object result = addMethod.invoke(invokertester, new Object[] { new Integer( 100 ), new Integer( 200 ) }); //在jdk5.0中有了裝箱 拆箱機制 new Integer(100)可以用100來代替,系統(tǒng)會自動在int 和integer之間轉(zhuǎn)換 System.out.println(result); Method echoMethod = classType.getMethod( "echo" , new Class[] { String. class }); result = echoMethod.invoke(invokertester, new Object[] { "hello" }); System.out.println(result); } } |

尚方寶劍之說
TA貢獻1788條經(jīng)驗 獲得超4個贊
Method類是最終類,不能繼承。
通常在反射中用的比較多,至于反射是什么就不知這個題的重點了。
另外,對于一個類的了解最好的途徑是API,所以我建議題主去看下API,這遠比我把API粘貼過來有用
添加回答
舉報
0/150
提交
取消