反射机制
Java反射机制时在运行状态中,对于任意一个类(class文件),都能知道这个类的所有属性和方法
对于任意一个对象,都能够调用它的任意一个方法
这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制(反射包:relect)
应用场景:一个独立运行的应用程序对外提供了接口,外部有实现了接口的类,应用程序会通过配置文件中的指定名称加载其字节码文件,获取其中的内容并调用
Tomcat:提供了处理请求和应答的方式,因为具体的处理动作不同,所以对外提供了接口(Servlet),由开发者来实现具体请求和应答处理,用配置文件调用
获取Class对象的三种方法:
//已知有Person类
public static void getClassObject_1(){//1.Object类中的getClass方法,必须要明确具体的类并创建对象
Person p = new Person();
Class clazz = p.getClass
}
public static void getClassObject_2(){//2.任何数据类型都具有一个静态的属性.class来获取其对应的Class对象
Class clazz = Person.class;//还是要明确用到类中的静态成员,不够扩展
}
//主要获取方法,用Class类中的forName方法,只需要名称,扩展性强
public static void getClassObject_3(){
String className = "cn.itcast.bean.Person";//明确包名,可以通过配置文件获取
Class clazz = Class.forNam