基本概念
- 通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写代码时不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递的参数来决定,该机制叫做动态编程技术,也就是反射机制
- 通俗来说,反射机制就是用于动态创建对象并且动态调用方法的机制
- 目前主流的框架底层都是采用反射机制实现的
如:Person p = new Person();
- 表示声明Person
类型的引用指向Person
类型的对象p.show();
- 表示调用Person
类中的成员方法show
Class类
基本概念
- java.lang.Class类的实例可以用于描述Java应用程序中的类和接口,也就是一种数据类型
- 该类没有公共构造方法,该类的实例由Java虚拟机和类加载器自动构造完成,本质上就是加载到内存中的运行时类
获取Class对象的方式
- 使用
数据类型.class
的方式可以获取对应类型的Class对象(掌握) - 使用
Class.forName()
的方式来获取参数指定类型的Class对象(掌握) - 使用
引用/对象.getClass()
的方式可以获取对应类型的Class对象 - 使用
包装类.TYPE
的方式可以获取对应基本数据类型的Class对象 - 使用类加载器
ClassLoader
的方式获取指定类型的Class对象
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。