你如何实例化java.lang.reflect.Method?

时间:2012-05-09 08:50:01

标签: java reflection

我的方法接受Method个对象作为参数。因此,我需要创建一个java.lang.reflect.Method的模拟实例。事实证明类是final并且没有公共构造函数。好的。那么......我需要使用哪些工厂或者什么......? java.lang.reflect.ReflectAccess类是包作用域,它看起来像我正在寻找的那种工厂(除了我不能使用它的事实)。这是什么交易......?

是的,我总是可以获得一些Class的实例并选择一个随机的Method,但我想有一种更明智的方式......?

提前致谢!

3 个答案:

答案 0 :(得分:3)

  

是的,我总是可以获得一些Class的实例并选择一个随机的方法,但我想有一个更明智的方法......?

不, 是合理的方式。没有别的意义。拥有一个不属于类的方法甚至意味着什么?你调用它会发生什么?

如果这是用于测试,我建议您专门为此目的创建一个具有适当方法的类。

答案 1 :(得分:2)

尝试使用反射。

Constructor c = Method.class.getConstructor(Class.class, String.class, Class[].class, Class.class, Class[].class, int.class, int.class, String.class, byte[].class, byte[].class, byte[].class);
c.setAccessible(true);
c.newInstance(....); // send correct arguments

这应该有效。

答案 2 :(得分:1)

方法总是与类(或实例)相关,那么获取方法的用途是什么呢?