什么是反射?
反射就是在运行状态中,对于某一个类我们都可以知道这个类有哪些方法和属性。对于任意一个对象,我们都能对他的方法和属性进行调用。我们把这种动态获取对象信息和动态获取对象方法的功能称为反射机制。
反射其实就是获取类的字节码(.class)文件,我们就可以通过Class对象进行获取。
反射的方式
- Class类中的getClass()方法
- 类.class.getClass()
- Class.forName()
反射机制的用途
- 数据库中JDBC使用Class.forName(Driver)来获取数据驱动
- 工厂模式
反射的缺点