直到应用的时候才理解,使用反射机制创建类:当类名以字符串形式表现的时候,必须通过反射机制创建类。
其实仔细想想也知道,当使用str = getClassName()得到类名后,下一步如何创建?str()?显然不可能。唯一的办法就是反射机制:
//得到类对象
Class<?> cls = Class.forName(str);
//获得构造函数
Constructor<?> ctr = cls.getConstructor("参数列表");
//调用构造函数构造对象
ctr.newInstance("参数列表");
记得要处理异常。
当然这只是反射机制最基本的应用,即使用反射机制创建类对象。