当前位置:编程学习 > JAVA >>

Java里getMethod方法的参数为什么要写成String.class?

Method m;
try {
m = c1.getMethod("sayHello",String.class,int.class);
String sh=(String) m.invoke(c1.newInstance(),"ling",12);
System.out.println(sh);
} catch (Exception e) {
e.printStackTrace();
}
为什么要写成string.class啊 --------------------编程问答-------------------- 方法签名就是这么规定的 --------------------编程问答-------------------- 类字节码 --------------------编程问答--------------------
引用 1 楼 acesidonu 的回复:
方法签名就是这么规定的

同意 --------------------编程问答-------------------- Method getMethod(String name, Class<?>... parameterTypes) 
--返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。 

方法后面接收的就是Class类的对象,而如:String.class、int.class这些字节码才是Class类的对象 --------------------编程问答-------------------- 要求传入的参数类型就是这样的。 --------------------编程问答-------------------- 接口就是这么定义的。 --------------------编程问答-------------------- 这个是根据方法名称,以及方法参数的类型来获取指定的方法。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,