设计模式之禅笔记-单例模式

2020-12-21  本文已影响0人  凉快先生

单例是单一,唯一的意思,在程序运行期间仅有一个实例。

1.业务场景

大臣天天上朝,见到的皇帝必然是同一个,不可能一天换一个皇帝。

2.定义皇帝,并且构造器定义为私有,在皇帝内部实例化,不能在外部实例化。

public class Emperor {

  private static Emperor emperor = null; // 定义一个皇帝放在那里,然后给这个皇帝名字 private Emperor(){

  // 世俗和道德约束你,目的就是不让你产生第二个皇帝

  }

  public static Emperor getInstance(){

  if(emperor == null){ // 如果皇帝还没有定义,那就定一个 emperor = new Emperor();

  }

  return emperor ;

  }

  // 皇帝叫什么名字呀

  public static void emperorInfo(){

  System.out.println("我就是皇帝某某某...." ); }

  }

3.再定义大臣

public class Minister {

  public static void main(String[] args) {

  // 第一天

  Emperor emperor1=Emperor.getInstance ();

  emperor1.emperorInfo(); // 第一天见的皇帝叫什么名字呢? // 第二天

  Emperor emperor2=Emperor.getInstance ();

  Emperor.emperorInfo ();

  // 第三天

  Emperor emperor3=Emperor.getInstance ();

  emperor2.emperorInfo ();

  // 三天见的皇帝都是同一个人,荣幸吧!

  }

  }

上一篇 下一篇

猜你喜欢

热点阅读