单例、工厂设计模式

来源:互联网 发布:yum 卡住 编辑:程序博客网 时间:2024/04/29 16:09

只为理解而生

单例设计模式:

创建对象型设计模式,保证实例唯一,简单代码如下:

public class King{    private static King king = null;    private King() {}    public static King getInstance()    {        if (king = null)            King king = new King();        return king;    }}public class Test{    public static void main(String[],args)    {        //King k1 = new King(); 不行        King k = king.getInstance();        king k2= king.getInstance();  //只会创建一个king    }}
工厂模式

创建对象型的设计模式 ,类名前如果不写public作默认权限,则仅是本包内的类可以创建对象,其它包不能创建该对象,如果是public,则其它包可以创建出它的对象,简单代码贴上:

    public abstract class Car    {        public abstract void run();    }    public class CarFactory    {        public static Car newInstance()        {            return new Bww();        }    }    class Bww extends Car    {        public void run()        {            System.out.println("宝马车跑..")            }    }    class Benz extends Car    {        public void run()        {            System.out.println("奔驰车跑..")            }    }    public class Test    {        public static void main(String[],args)        {            //工厂类只是创建对象,如果需要换车型 ,只能改工厂类,无论需要多少个对象            只需改一个地方就行。 就算多加车型,改起来也相对容易            Car c1 = CarFactory.newInstance();            Car c2 = CarFactory.newInstance();        }    }


1 1
原创粉丝点击