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

java 單例模式和工廠模式實例詳解

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

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

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

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

以自己實例為返回值的靜態(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();
    }
  }

希望本文對各位朋友有所幫助

相關(guān)文章

最新評論

中卫市| 上蔡县| 宽城| 平塘县| 阿巴嘎旗| 榕江县| 吉隆县| 万荣县| 崇仁县| 衡阳市| 四川省| 广南县| 阿瓦提县| 宁海县| 明光市| 武陟县| 安庆市| 青阳县| 克山县| 太原市| 嘉义县| 思南县| 防城港市| 桂阳县| 横峰县| 吕梁市| 岳普湖县| 蓝田县| 保靖县| 辽阳县| 阿拉尔市| 名山县| 东莞市| 南通市| 沿河| 韶关市| 彩票| 措美县| 湖州市| 青铜峡市| 永福县|