1、java中什么是反射
java是一种编译语言,要让java程序能够允许,就得让Java类被Java虚拟机加载,一般情况下,我们运行的所有的程序在编译期时候就已经把那个类被加载了。
Java的反射机制是在编译时并不确定是哪个类被加载了,而是在程序运行的时候才加载。使用的是在编译期并不知道的类。这样的编译特点就是java反射。
所以一般也称java的反射机制是运行状态。
2、java反射等作用
A、通过反射机制,可以通过反射,在编译阶段可以调用一个还没有完全实现的类。
B、如果编码时不知道类或者对象的具体信息,此时应该使用反射来实现,比如Spring中类的名称放在XML文件中,属性和属性值放在XML文件中,需要在运行时读取XML文件,动态获取类的信息,在编译时根本无法知道该对象或类可能属于哪些类,程序只依靠运行时信息来发现该对象和类的真实信息。
3、关于class对象和这个class类
需要大家研究java.lang.Class这个类。它是Java反射机制的起源,所有反射后都是一个CLASS类,它有很多方法可以使用,用于获取与类相关的各种信息,提供了获取类信息的相关方法。?
4、发射API
A、通过通过Class.forName("全类名"),常见的是数据库连接是的驱动类
B、类名.class
Class<?> PersonClass = Person.class;
C、对象.getClass()
Person person = new Person();? Class<?> PersonClass = person.getClass();?
原文:https://www.cnblogs.com/fating/p/13636384.html