本帖最后由 王振宇 于 2011-11-24 15:08 编辑
我的问题很简单,就是不知道怎么写!在线求解答
大致代码
我有个方法
- class MethodDemo{
- public int show()
- {
- System.out.println("this is show() method");
- }
- }
- class MethodTest
- {
- public staitc void main(String[] args)
- {
- MethodDemo md = new MethodDemo();
- Method method = md.getClass().getMethod("show",????);
- method.invoke(md,??????);
- }
- }
复制代码 问题就是打???号的地方,带参数的方法视频里讲了,我也明白了,我这个show方法时不带参数的
getMethod方法的第二个参数我应该写什么呢?null?void.clas?
invoke方法也是一样,没有参数我肯定也不需要传参数,???号的地方我应该写什么呢?
如果我写null是这样的警告:
MethodDemo.java:8: 警告:最后一个参数使用了不准确的变量类型的 varargs 方法的非 v
arargs 调用;
对于 varargs 调用,应使用 java.lang.Class<?>
对于非 varargs 调用,应使用 java.lang.Class<?>[],这样也可以抑制此警告
Method md = mt.getClass().getMethod("show",null);
^
如果我写void.class是编译可以通过,运行的时候会说找不到show(void)方法,类似这个意思。
|