java中Method类有什么作用
2 回答
隔江千里
TA贡献1906条经验 获得超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[])方法接收的参数必须为对象, //如果参数为基本类型数据,必须转换为相应的包装类型的对象。invoke()方法的返回值总是对象, //如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象, //再将其返回 Object result = addMethod.invoke(invokertester, new Object[] { new Integer( 100 ), new Integer( 200 ) }); //在jdk5.0中有了装箱 拆箱机制 new Integer(100)可以用100来代替,系统会自动在int 和integer之间转换 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条经验 获得超4个赞
Method类是最终类,不能继承。
通常在反射中用的比较多,至于反射是什么就不知这个题的重点了。
另外,对于一个类的了解最好的途径是API,所以我建议题主去看下API,这远比我把API粘贴过来有用
添加回答
举报
0/150
提交
取消