最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 單例模式和工廠模式實(shí)例詳解

 更新時(shí)間:2017年04月13日 16:33:48   作者:wuxiao5570  
這篇文章主要介紹了Java設(shè)計(jì)模式編程中的單例模式和簡單工廠模式以及實(shí)例,使用設(shè)計(jì)模式編寫代碼有利于團(tuán)隊(duì)協(xié)作時(shí)程序的維護(hù),需要的朋友可以參考下

單例模式根據(jù)實(shí)例化對(duì)象時(shí)機(jī)的不同分為兩種:一種是餓漢式單例,一種是懶漢式單例

私有的構(gòu)造方法

指向自己實(shí)例的私有靜態(tài)引用

以自己實(shí)例為返回值的靜態(tài)的公有的方法

餓漢式單例

  public class Singleton {
    private static Singleton singleton = new Singleton();
    private Singleton(){}
    public static Singleton getInstance(){
      return singleton;
    }
  }

懶漢式單例

  public class Singleton {
    private static Singleton singleton;
    private Singleton(){}
    public static synchronized Singleton getInstance(){
      if(singleton==null){
        singleton = new Singleton();
      }
      return singleton;
    }
  }

工廠方法模式代碼

 interface IProduct {
    public void productMethod();
  }
  class Product implements IProduct {
    public void productMethod() {
      System.out.println("產(chǎn)品");
    }
  }
  interface IFactory {
    public IProduct createProduct();
  }
  class Factory implements IFactory {
    public IProduct createProduct() {
      return new Product();
    }
  }
  public class Client {
    public static void main(String[] args) {
      IFactory factory = new Factory();
      IProduct prodect = factory.createProduct();
      prodect.productMethod();
    }
  }

抽象工廠模式代碼

  interface IProduct1 {
    public void show();
  }
  interface IProduct2 {
    public void show();
  }
  class Product1 implements IProduct1 {
    public void show() {
      System.out.println("這是1型產(chǎn)品");
    }
  }
  class Product2 implements IProduct2 {
    public void show() {
      System.out.println("這是2型產(chǎn)品");
    }
  }
  interface IFactory {
    public IProduct1 createProduct1();
    public IProduct2 createProduct2();
  }
  class Factory implements IFactory{
    public IProduct1 createProduct1() {
      return new Product1();
    }
    public IProduct2 createProduct2() {
      return new Product2();
    }
  }
  public class Client {
    public static void main(String[] args){
      IFactory factory = new Factory();
      factory.createProduct1().show();
      factory.createProduct2().show();
    }
  }

希望本文對(duì)各位朋友有所幫助

相關(guān)文章

最新評(píng)論

监利县| 延边| 龙川县| 新津县| 高邮市| 克拉玛依市| 宁蒗| 手游| 永川市| 镇坪县| 县级市| 五河县| 永宁县| 林甸县| 剑阁县| 保德县| 铜梁县| 皮山县| 娄烦县| 临江市| 黄石市| 洛南县| 江城| 朝阳市| 莱州市| 柳江县| 康定县| 宣恩县| 沙田区| 镇安县| 宁海县| 左权县| 永吉县| 吕梁市| 沽源县| 京山县| 百色市| 大冶市| 金溪县| 娄烦县| 高雄市|