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啊 --------------------编程问答-------------------- 方法签名就是这么规定的 --------------------编程问答-------------------- 类字节码 --------------------编程问答--------------------
同意 --------------------编程问答-------------------- Method getMethod(String name, Class<?>... parameterTypes)
--返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。
方法后面接收的就是Class类的对象,而如:String.class、int.class这些字节码才是Class类的对象 --------------------编程问答-------------------- 要求传入的参数类型就是这样的。 --------------------编程问答-------------------- 接口就是这么定义的。 --------------------编程问答-------------------- 这个是根据方法名称,以及方法参数的类型来获取指定的方法。
补充:Java , Java SE