经常遇到这种情况,在配置文件中配置使用哪个类;程序在运行时,通过配置的类名,动态生成这个类的对象或调用这个类的某个方法。 这使用的是java的反射机制。
当程序启动时,类加载器首先会加载所需的类文件。这些类结构信息存储在内存中,定义它们统一的类型:Class, 同一个类加载器下,是全局唯一的。
怎么获得一个类的Class呢?
public static void main(String[] args) throws ClassNotFoundException { String className = "java.lang.Object"; //注意是运行期 Class classType = Class.forName(className);//方法1: 使用class类的静态方法,获取class对象,参数是类的全称 Class classType2 = Object.class;//方法2 : 类名.class Class classType3 = new Object().getClass();//方法3:通过对象获取 }