我的方法接受Method
个对象作为参数。因此,我需要创建一个java.lang.reflect.Method
的模拟实例。事实证明类是final
并且没有公共构造函数。好的。那么......我需要使用哪些工厂或者什么......? java.lang.reflect.ReflectAccess
类是包作用域,它看起来像我正在寻找的那种工厂(除了我不能使用它的事实)。这是什么交易......?
是的,我总是可以获得一些Class
的实例并选择一个随机的Method
,但我想有一种更明智的方式......?
提前致谢!
答案 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)
方法总是与类(或实例)相关,那么获取方法的用途是什么呢?