侧边栏壁纸
  • 累计撰写 781 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

获取成员方法

Dettan
2021-04-10 / 0 评论 / 0 点赞 / 92 阅读 / 1,099 字
温馨提示:
本文最后更新于 2022-04-30,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
方法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);

0

评论区