常常遇到这种状况,在配置文件中配置使用哪一个类;程序在运行时,经过配置的类名,动态生成这个类的对象或调用这个类的某个方法。 这使用的是java的反射机制。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:经过对象获取 }