Java 反射教程

发布时间:2019-11-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java 反射教程脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Java反射可以在运行时检视类、接口、属性和方法,而无需在编译时知道类名、方法名等等。它也同样使用反射支持实例化新的对象、调用方法和get/set属性值。
Java反射非常强大和有用。例如, Java反射可以用在映射json文件的属性到Java 对象的get/set方法,如Jackson、Gosn、Boon等库的实现。另外,反射可以用在映射JDBC结果集的列名到Java对象的get/set方法。
本教程将深入介绍Java反射。它将解释Java反射的基础知识,包括如何使用数组、注解、范型和动态代理,以及动态类的加载和重新加载。
它还将向您展示如何执行更具体的Java反射任务,例如读取类的所有getter方法,或访问类的私有字段和方法。
本教程还将清除一些关于范型信息在运行时可用性的认知混淆。一些人声称所有范型信息在运行时丢失,这是不正确的。
本教程描述基于Java8。

Java反射示例

这是一个快速的Java反射示例,向你展示使用反射的代码格式:

Method[] methods = MyObject.class.getMethods();  for(Method method : methods){     System.out.PRintln("method = " + method.getName()); }
Method [] methods=String.class.getMethods(); for (Method method:methods) {     LOGger.debug("String 类方法名称:{},参数个数:{}",method.getName(),method.getParameterCount()); }

本示例从一个名为MyObject的类中获取一个Class对象。使用这个class对象展示获得它的方法列表,循环并输出方法名称。

Java 类对象

使用Java反射时,起点通常是需要使用反射检视的类的Class对象。例如,获得名为MyObject类的Class对象可以这么写:

Class myObjectClass = MyObject.class;

现在,你可以引用类MyObjectClass对象。
Java Reflection Class tutorial中有Class对象更详细的描述。

方法和属性

一旦你拥有表示某些类的Class对象的引用,你可以访问这些类的方法和属性。下面是访问一个Java类方法和属性的示例:

Class myObjectClass = MyObject.class; Method[] methods = myObjectClass.getMethods(); Field[] fields   = myObjectClass.getFields();

一旦拥有一个java类的方法和属性的引用,就可以开始检视它们。你可以获得方法和属性的名称,采用的参数等等。你甚至可以通过这些方法和属性引用调用方法和使用get/set属性值。
Java Reflection Fields tutorialJava Reflection Methods tutorial教程中有关于访问方法和属性的更详尽的描述。

脚本宝典总结

以上是脚本宝典为你收集整理的Java 反射教程全部内容,希望文章能够帮你解决Java 反射教程所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。