什么是Method对象?
Method
提供关于类或接口上单独某个方法(以及如何访问该方法)的信息。所反映的方法可能是类方法或实例方法(包括抽象方法)。
总结来说这个就是用来描述一个类的方法的对象。
这是java反射中非常重要的一环。
怎么获取Method对象
1.Class.getMethods()
2.Class.getMethod(String, Class[])
3.Class
.
getDeclaredMethods
()
4.Class.getDeclaredMethod(String, Class[])
通过Method对象调用此方法
通过invoke方法来调用Method对象所指的方法。
1 2 3 4 5 |
public Object invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException |
参数:obj
– 从中调用底层方法的对象args
– 用于方法调用的参数
抛出:
IllegalAccessException
– 如果此 Method
对象强制执行 Java 语言访问控制,并且底层方法是不可访问的。
IllegalArgumentException
– 如果该方法是实例方法,且指定对象参数不是声明底层方法的类或接口(或其中的子类或实现程序)的实例;如果实参和形参的数量不相同;如果基本参数的解包转换失败;如果在解包后,无法通过方法调用转换将参数值转换为相应的形参类型。
InvocationTargetException
– 如果底层方法抛出异常。
NullPointerException
– 如果指定对象为 null,且该方法是一个实例方法。
ExceptionInInitializerError
– 如果由此方法引起的初始化失败。