我的方法接受一个Method对象作为参数。因此,我需要创建一个java.lang.reflect.Method. 事实证明该类final没有公共构造函数。好的。那么...我需要使用一些工厂还是什么...?该类java.lang.reflect.ReflectAccess是包范围的,它似乎是我正在寻找的那种工厂(除了我无法使用它)。这是怎么回事……?
是的,我总是可以得到一些实例Class并随机选择一个Method,但我想有一种更明智的方法......?
提前致谢!
尝试使用反射。
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
Run Code Online (Sandbox Code Playgroud)
这应该有效。
是的,我总是可以获得某个类的实例并选择一个随机方法,但我想有一种更明智的方法......?
不,这才是明智的做法。其他没有任何意义。拥有一个不属于类的方法意味着什么?当你调用它时会发生什么?
如果这是为了测试,我建议您专门为此目的创建一个包含适当方法的类。