关于getDelaredMethod()方法的问题;答完结贴;谢谢了;
- Java code
String str = "aa";Class cla = Class.getClass();Method mt = cla.getDeclaredMethod("put",??);........//另一个类;public class aa{ public void put(){ ........}}想请问下,getDeclaredMethod("put",??);的第二个参数到底是什么啊?参数是 Class 对象的一个数组,它按声明顺序标识该方法的形参类型;api上是这样写的;怎么会是Class对象的数组呢?或者说改参数表示所调用方法的形参,当我的put()方法没有参数传入的时候能用Null来代替吗?
二、我的另一个类中必须要有main()函数吗?
[解决办法]
一、是一个Class类型的数组,就是说,我根据你的方法名和你的参数类型列表,我就可以知道你要的那个方法,
如果没有参数的话,是可以用null来替代的
二、如果你要是运行的话,当然要有一个类中有main函数了,如果不运行的话,自然就不需要了.
这行定错了吧
- Java code
Class cla = Class.getClass();
[解决办法]
就是你要得到的这个方法的参数类型的数组
比如一个方法定义如下
put(String str,Date date) {
}
你的方法有两个参数,一个是String ,一个是Date
就应该通过下面的语句得到这个Method对象
Method mt = cla.getDeclaredMethod("put",new Class[]{String.class,Date.class});
没有参数 就传一个null过去就可以了
只有你的启动类才需要main函数
[解决办法]