黑马程序员技术交流社区
标题:
关于反射中Method类获取无参数的方法问题
[打印本页]
作者:
黄昆
时间:
2012-7-17 23:59
标题:
关于反射中Method类获取无参数的方法问题
import java.lang.reflect.Method;
class DemoClass {
public void run()
{
System.out.println("hello java");
}
}
public class ReflectDemo {
public static void main(String[] args)throws Exception {
Method run=Class.forName(ReflectDemo).getMethod("run", ???);//getMethod(name,
parameterTypes
)此处获取的方法无参数,
那么parameterTypes着个类型该怎么设置呢?
run.invoke(???);//
invoke(obj, args)此时???的值有该怎么设置呢?
}
}
作者:
陈云帆
时间:
2012-7-18 00:06
都有重载的方法,直接写成???);//getMethod(name)就是无参方法,写成getMethod(name,null)也行,其实在Method 方法内部getMethod(name)掉的就是getMethod(name,null)这两种方法是等价的。
作者:
乞文超
时间:
2012-7-18 00:27
parameterTypes 参数是按声明顺序标识该方法形参类型的 Class 对象的一个数组。如果 parameterTypes 没有参数,我们可以设置为null,按空数组处理。
对于invoke的方法调用:
如果底层方法是静态的,那么可以忽略指定的 obj 参数。该参数可以为 null。
如果底层方法所需的形参数为 0,则所提供的 args 数组长度可以为 0 或 null
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2