反射(创建对象)

拿着String类型的类名,想创建对象,就这样做

//layerCfg这个class里面存了想要构建的class的各种参数 包括类名
//那么这一步的作用就是确定类名
Class cls = Class.forName(layerCfg.getClassName());
//这4个class是乱写的 保证data type对就好
//这一步的作用是确定constructor
Constructor ctr = cls.getConstructor(int.class, int.lass, int.class, int.class);
//这一步写入参数 创建对象
Layer l = (Layer)ctr.newInstance(
    layerCfg.getX(), layerCfg.getY(), layerCfg.getW(), layerCfg.getH()  
);

你可能感兴趣的:(反射(创建对象))