通过传统的方式创建对象
A a = new A();
通过反射的方式创建对象
String className = “包名.A”;
类对象
Class pclass = Class.forName(className);
构造器
Constructor c = pClass.getConstructor();
通过构造器实例化
A a = (A)c.newInstance();
应用 通过配置文件获取对象
在这个文件 a.config 中保存类的全称
在这里插入代码片
配置文件中只有一行文字,内容为Hero类的路径。
直接使用Class.forName(className).newInstance()
与
Class pclass = Class.forName(className);
Constructor c = pClass.getConstructor();
Class.forName(className).newInstance()
效果一样
//一个标准的调用
public class Test {
public static void main(String[] args) {
File file = new File("src/hero.config");
String className = Test.getClassName(file);
try {
Hero hero = (Hero) Class.forName(className).newInstance();
h