Java 反射
什么是反射:
正常情况下我们新建一个类就是:
Student st = new Student()
通过new方式,调用默认构造方法新建一个类,加载到jvm虚拟机中,这种类的加载方法存在一种问题,就是运行时不灵活,如果我们把student类换成teacher类,就需要重新修改代码。
而java的反射机制提供了一种方法,在程序运行时动态加载所需要的类
Class c1 = Class.forName("com.cyh.test.Teacher");
//创建此Class对象所表示类的一个新实例,
//newInstance方法调用的是Teacher的空参数构造方法
Object o = c1.newInstance();
类路径可以从配置文件加载,从而实现不需要修改代码,实现类的替换
除此之外,还可以根据反射特性,对于任意一个类。都能都知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属