Java Web 02: 单例模式

1.  什么是单例模式?

    单例, 是单实例(对象)的意思

    模式, 指的是一种固定的编程思路

2.  什么时候使用单例模式?

    在创建管理器类 / 工具类 的时候

3.  例如:

<1>  创建一个工具类 - JDBCUtil.java

<2>  由于工具类的性质, 它JDBCUti的对象不需要被创建多次

<3>  如何把类设置成单实例的? (最简单方式)

在JDBCUtil.java中:

public class JDBCUtil {

  public static JDBCUtil instance = new JDBCUtil();  // 单实例的创建方式

  public void getConnection() {
    System.out.println("得到一个数据库连接!");
  }

  public static void main(String[] args) {
    JDBCUtil.instance.getConnection();      // 单实例的调用方式
  }
}

<4>  最简单方式的缺点

public static void main(String[] args) {
    JDBCUtil.instance.getConnection();      // 单实例的调用方式

    JDBCUtil util = new JDBCUtil();

    util.getConnection();            // 如果这样调用, 单例模式就被破坏了    

}

<5>  避免单例模式被破坏 (构造方法私有化):

public class JDBCUtil {

  public static JDBCUtil instance = new JDBCUtil();  // 单实例的创建方式

  private JDBCUtil(){

  }  // 构造方法私有化

  public void getConnection() {
    System.out.println("得到一个数据库连接!");
  }
}

 

posted @ 2020-08-15 06:07  Jasper2003  阅读(179)  评论(0编辑  收藏  举报