反射的概念:

在官方文档中定义反射:在反射机制的API中,我们可以知道,反射通常是由程序来实现,而这些程序就是用来检查或修改,在java虚拟机中运行的应用程序的的运行时行为。

说白了就是反射可以帮助我们在运行过程中获取对象的类型信息,那我们如何获取一个对象对应得反射类class呢?

三种获取反射类的方法
通过getClass

在Java中,每一个Object类都有一个对应得getClass方法

String s = "hello word";
Class<?> c = s.getClass ( );

通过forName方法

我们可以通过class的静态方法forName来实现

Class <?> c = Class.forName(" java.Lang.String " );

使用.class

我们也可以直接使用.Class

Class <?> c = String.class;

知道了获取反射类的方法,那现实做项目中,有哪些可以用到反射类呢?

反射机制的用途
  1. Spring中的IOC/DI是反射
  2. javaBean和JSP之间的调用是反射
  3. JDBC中的classforName是反射
  4. Structs中的formBean和页面之间也是通过反射
  5. hibernate的find( Class clazz ) 也是反射。。。。。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐