工厂模式

来源:互联网 发布:一橙网络怎么样 编辑:程序博客网 时间:2024/05/16 17:09

properties的工厂模式
Properties 类表示了一个持久的属性集。
Properties 可保存在流中或从流中加载。

package com.lingzhuo;public interface Myperson {    public void sleep();}
package com.lingzhuo;public class Mystudent implements Myperson{    @Override    public void sleep() {        System.out.println("学生在睡觉");    }}package com.lingzhuo;public class Myteacher implements Myperson{@Overridepublic void sleep() {         System.out.println("老师在睡觉");}}

添加文件
文件名: config.properties
文件内容:clazz=com.lingzhuo.Mystudent

package com.lingzhuo;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class Myfactory {    public static Myperson show(){        Myperson person=null;        Properties p=new Properties();        try {            p.load(new FileInputStream("config.properties"));            String clazzName=p.getProperty("Myperson");            Class clazz=Class.forName(clazzName);            person=(Myperson)clazz.newInstance();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (InstantiationException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IllegalAccessException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return person;    }}
package com.lingzhuo;public class Test2 {    public static void main(String[] args) {        Myperson person=Myfactory.show();        person.sleep();    }}
0 0
原创粉丝点击