什么是设计模式:
    image.png
    2.单例模式(例如电脑任务管理器)
    image.png
    image.png

    1. package com.itheima.d4_static_singleinstance;
    2. import org.w3c.dom.ls.LSOutput;
    3. public class Test1 {
    4. public static void main(String[] args) {
    5. // 目标:理解饿汉单例的设计模式
    6. // SingleInstance s = new SingleInstance();将构造器私有化了,无法创建对象
    7. // 调用静态成员:类名.成员名 // 然后用SingleInstance类型的变量接收,因为接收的是对象
    8. SingleInstance s1 = SingleInstance.instance;// 接收的是对象
    9. // 无论提取多少次对象,都只会在内存中加载一次(静态成员变量只有一份)
    10. SingleInstance s2 = SingleInstance.instance;
    11. // 这两个对象是同一个,地址一样,
    12. System.out.println(s1 == s2); // true
    13. }
    14. }
    1. package com.itheima.d4_static_singleinstance;
    2. /**
    3. * 使用饿汉单例实现单例类
    4. */
    5. public class SingleInstance {
    6. /**
    7. * 2.饿汉单例是在获取对象前,对象已经提前准备好了一个
    8. * 这个对象只能是一个,所以定义静态成员记住
    9. */
    10. // 这个静态成员随着类加载而创建了对象,只加载了一次
    11. public static SingleInstance instance = new SingleInstance();
    12. // public static int age = 18; 相当于这个对象类型是SingleInstance
    13. /**
    14. * 1.必须把构造器私有化(防止别人用这个类创建对象)
    15. * 将构造器私有化相当于把这个类藏起来了
    16. */
    17. private SingleInstance(){
    18. }
    19. }