ad

学习《零基础Java从入门到精通》_12.1.4 获取方法的信息

admin 133 2023-10-25

【摘要】 本书摘自《零基础Java 从入门到精通》一书中第十二章,第1.4节,编者是零壹快学

12.1.4 获取方法的信息

学习《零基础Java从入门到精通》_12.1.4 获取方法的信息

通过Class类中提供的getMethod()、getMethods()、getDeclaredMethod()和getDeclaredMethods()方 法可以获取类的方法信息。它们的返回值为Method对象或者对象数组,各个方法的详细描述如表

12.1.5所示。

表12.1.5 获取类的方法信息

方法 功能描述

getMethods() 返回一个Method对象的数组,这些对象反映此Class对象所表示的类或接口的 公共方法

getMethod(String name,Class... parameterTypes) 返回一个Method对象,它反映此Class对象所表示的类或接口的指定公共成员 方法

getDeclaredMethod(String name, Class... parameterTypes) 返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明 方法

getDeclaredMethods() 返回一个Method对象的一个数组,这些对象反映此Class对象表示的类或接口 声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括 继承的方法

通过Method对象可以操作相应类的方法,Method类中提供的常用方法如表12.1.6所示。

表12.1.6 Method类中的常用方法

方法 功能描述

getName() 以String形式返回此Method对象表示的方法名称

getParameterTypes() 按照声明顺序返回Class对象的数组,这些对象描述了此Method对象所表示 的方法的形参类型

getReturnType() 返回一个Class对象,该对象描述了此Method对象所表示的方法的正式返回 类型

getExceptionTypes() 返回Class对象的数组,这些对象描述了声明将此Method对象表示的底层方 法抛出的异常类型

invoke(Object obj,Object... args) 对带有指定参数的指定对象调用由此Method对象表示的底层方法

第 12 章 Java反射与注解

动手写12.1.6

基 础 Java 从入门到精通

上面示例中有一个Person类,该类具有三个公共方法—— say() 、run()和swim() ,通过 getDeclaredMethods()获取Person类的所有方法信息,通过getReturnType()方法获取方法的返回值的类 型信息,通过getName()方法获取方法名称,通过getParameterTypes()方法获取方法的参数列表。其 运行结果为:

图12.1.3 获取方法信息示例

在使用上述的四种方法获取Method对象之后,可以通过Method对象的invoke()方法来调用它对 应的方法。

动手写12.1.7

第 12 章 Java反射与注解

上面示例中有一个PrintUtil工具类,该类具有三个重载的print方法,通过getMethod()获取Person 类的方法信息,然后通过调用Method类的invoke()方法来执行相应的方法。其运行结果为:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:看《Excel人力资源管理实操全流程演练》如何教你做更好的表格_7.6 出差人员分配与管理
下一篇:从《Python数据分析案例教程》中_领悟数据和Python的魅力_3.3.3 NumPy 统计函数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×