•
方法getDeclaredMethod(String name, Class<?>... parameterTypes)
返回一个 方法对象,它反映此表示的类或接口的指定声明的方法 类对象。
这里左边参数是函数名字,右边是参数类型,只有这两个都有的时候能唯一标识一个函数. 返回类型不同不重载.
•
方法[]getDeclaredMethods()返回包含一个数组 方法对象反射的类或接口的所有声明的方法,通过此表示
类对象,包括公共,保护,默认(包)访问和私有方法,但不包括继承的方法。
获取所有方法的话会把父类继承来的方法也给继承过来,至少包括Object里的方法.
•
方法getEnclosingMethod()如果此类对象表示方法中的本地或匿名类,则返回表示基础类的即时封闭方法的方法对象。
•
方法getMethod(String name,
类<?>... parameterTypes)返回一个 方法对象,它反映此表示的类或接口的指定公共成员方法 类对象。
方法[]getMethods()返回包含一个数组 方法对象反射由此表示的类或接口的所有公共方法
类对象,包括那些由类或接口和那些从超类和超接口继承的声明。
•
intgetParameterCount()返回由此对象表示的可执行文件的形式参数(无论是显式声明还是隐式声明)的数量。 类<?>[]getParameterTypes()返回一个 类对象的数组,
类以声明顺序表示由该对象表示的可执行文件的形式参数类型。 类<?>getReturnType()返回一个 类对象,它表示由该表示的方法的正式返回类型 方法对象。
•
Objectinvoke(Object obj,Object... args)在具有指定参数的 方法对象上调用此 方法对象表示的底层方法。
•
booleanisBridge()返回true如果这个方法是一个桥接方法; 返回false否则。
•
booleanisDefault()如果此方法是默认方法,则返回true ; 返回false其他。
•
booleanisSynthetic()返回true如果这个可执行文件是一个合成的构建体; 返回false其他。
•
booleanisVarArgs()返回true如果这个可执行文件被宣布为带有可变数量的参数; 返回false其他。
//获取方法并调用方法
Method method1 = aClass.getDeclaredMethod(method);
method1.setAccessible(true);
method1.invoke(instance);
评论区