工厂设计模式
来源:互联网 发布:汉仪字体淘宝侵权 编辑:程序博客网 时间:2024/06/07 19:52
工厂设计模式就是用于产生对象 的。
class Car{}class BMW extends Car{}class BSJ extends Car{}public class Demo2{public static void main(String[] args) {}//工厂方法:专门用于生产对象的方法public static Car getInstance(int num){if(num==0){return new BMW();}else{return new BSJ();}}}
public class Demo1 {public static void main(String[] args) throws Exception {Person p = (Person) getInstance();System.out.println(p);}//需求: 编写一个工厂方法根据配置文件返回对应的对象。public static Object getInstance() throws Exception{//读取配置文件BufferedReader bufferedReader = new BufferedReader(new FileReader("info.txt"));//相对路径,该文件就在该工程路径下//读取第一行 : 读取类文件的信息String className = bufferedReader.readLine();//通过完整类名获取对应 的Class对象Class clazz = Class.forName(className);//获取到对应的构造方法Constructor constructor = clazz.getDeclaredConstructor(null);constructor.setAccessible(true);Object o = constructor.newInstance(null);//给对象设置对应的属性值String line = null;while((line = bufferedReader.readLine())!=null){String[] datas = line.split("=");Field field =clazz.getDeclaredField(datas[0]);//设置可以访问field.setAccessible(true);if(field.getType()==int.class){field.set(o, Integer.parseInt(datas[1]));}else{field.set(o, datas[1]);}}return o;}}
配置文件的信息:
cn.it.reflect.Personid=110name=旺财
0 0
- 设计模式--工厂设计
- 设计模式------工厂模式
- 设计模式------工厂模式
- 设计模式 [ 工厂模式 ]
- 设计模式--工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式 工厂模式
- 设计模式-工厂模式
- 设计模式 -- 工厂模式
- 设计模式-工厂模式
- 设计模式----工厂模式
- 设计模式---工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式---工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 求二范数C++代码
- ccf2014031
- react学习笔记 item9 ---双向绑定(mixin)
- servlet
- 操作系统库-atoi()函数
- 工厂设计模式
- android-lite-http处理http异常返回时的content数据读取
- js学习笔记:Ajax
- 老毛桃U盘快速安装ghost win7系统图文教程
- React Native环境配置(android,windows)
- 11.23关于微信JSAPI缺少参数的问题解决
- Android之第三方框架使用汇总
- mysql中字段类型及字符集
- nyoj1112-求次数(map或set)