4

我的方法接受一个Method对象作为参数。因此,我需要创建一个java.lang.reflect.Method. 事实证明,该类是final并且没有公共构造函数。好的。所以......我需要使用一些工厂还是什么......?该类java.lang.reflect.ReflectAccess是包范围的,它似乎是我正在寻找的那种工厂(除了我不能使用它的事实)。这是怎么回事……?

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

提前致谢!

4

3 回答 3

4

尝试使用反射。

Constructor c = Method.class.getDeclaredConstructor(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

这应该有效。

于 2012-05-09T08:59:20.397 回答
3

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

不,这明智的做法。没有其他任何意义。拥有一个不属于类的方法甚至意味着什么?当你调用它时会发生什么?

如果这是为了测试,我建议您专门为此目的创建一个包含适当方法的类。

于 2012-05-09T08:52:07.933 回答
1

方法总是与类(或实例)相关,那么不从类中获取方法有什么用呢?

于 2012-05-09T08:52:32.060 回答