单例设计模式简介

目录

  • 1.单例设计模式是什么?
  • 2.单例设计模式设计方法
    • 饿汉式
    • 懒汉式
  • 3.单例设计模式的应用
    • 任务管理器(仅有一个页面,不可多开)
    • Runtime运行环境

1.单例设计模式是什么?

设计模式 是解决 特定问题的优秀设计方式之一
单例设计模式:确保一个类只能够最多生成一个对象的类设计模式。

【Java】单例设计模式插图

2.单例设计模式设计方法

饿汉式

注:所谓饿汉式,就是还没用就提前准备好该类对象。

  • 定义一个类变量记住类的一个对象
  • 把类的构造器私有
  • 定义一个类方法,返回类对象

设计示例:
A类

package suziguang_d5_singleInstance;

public class A {
    private static A a = new A();

    private A()
    {}

    public static A getA()
    {
        return a;
    }
}

测试类

package suziguang_d5_singleInstance;

public class Test {
    public static void main(String[] args) {
        // A a = new A(); //error
        A a1 = A.getA();
        A a2 = A.getA();
        A a3 = A.getA();

        System.out.println(a1);
        System.out.println(a2);
        System.out.println(a3);
    }
}

输出结果
【Java】单例设计模式插图(1)

懒汉式

注:所谓懒汉式,就是什么时候用什么时候才去生成对象。

  • 定义一个类对象,空
  • 把类的构造器私有
  • 提供一个类方法,保证返回的是同一个对象

设计示例:
B类

package suziguang_d5_singleInstance;

public class B {
    private static B b = null;

    private B() {}

    public static B getB()
    {
        if(b == null) b = new B();

        return b;
    }
}

测试类

package suziguang_d5_singleInstance;

public class Test_B {
    public static void main(String[] args) {
        B b1 = B.getB();
        B b2 = B.getB();
        System.out.println(b1);
        System.out.println(b2);
    }
}

输出结果
【Java】单例设计模式插图(2)

3.单例设计模式的应用

任务管理器(仅有一个页面,不可多开)

【Java】单例设计模式插图(3)

Runtime运行环境

查看:IDEA中输入Runtime,按ctrl + 鼠标左击。
【Java】单例设计模式插图(4)


EOF

本站无任何商业行为
个人在线分享 » 【Java】单例设计模式
E-->