CSNotesCSNotes
TODO
LeetCode
数据结构
计算机组成原理
操作系统
计算机网络
数据库
Java
SSM
React
实用工具
GitHub
TODO
LeetCode
数据结构
计算机组成原理
操作系统
计算机网络
数据库
Java
SSM
React
实用工具
GitHub
  • 第一章 Java基础类型

    • 1.1 类的访问权限
    • 1.2 Java 浮点类型
    • 1.4 ArrayList 源码解析
    • 1.5 Java 数据类型
    • 1.6 Java 异常
    • 1.7 包装类
    • 1.8 String
    • 1.9 StringBuffer
    • 1.10 集合
    • 1.11 单例模式 - 饿汉式
    • 1.11 HashSet
    • 1.12 final 关键字
    • 1.13 static 关键字
    • 1.14 String 类
    • 1.15 时间类
    • 1.16 访问修饰符
    • 1.17 枚举
    • 1.18 抽象类
  • 第四章

    • 4.1 静态方法
  • 第六章

    • 6.1 接口
    • 6.2 抽象类
    • 6.3 OOP

1.11 单例模式 - 饿汉式

类加载时创建。

public class SingleTon01 {
    public static void main(String[] args) {
        GirlFriend xh = GirlFriend.getInstance();
        GirlFriend xb = GirlFriend.getInstance();
        System.out.println(xh);
        System.out.println(xb);
        System.out.println(xh == xb);//true
    }
}

class GirlFriend {
    private String name;
    private static GirlFriend gf = new GirlFriend("小红");

    private GirlFriend(String name) {
        this.name = name;
    }

    public static GirlFriend getInstance() {
        return gf;
    }
 }

为了解决单例模式饿汉式创建构造方法没有使用,出现了懒汉式。

懒汉式

使用时创建。

public class SingleTon02 {
    public static void main(String[] args) {
//        System.out.println(Cat.n1 );
        Cat instance=Cat.getInstance();
        System.out.println(instance);

        Cat instance2=Cat.getInstance();
        System.out.println(instance2);
    }
}

class Cat {
    private String name;
    public static int n1 = 999;
    private static Cat cat;

    private Cat(String name) {
        System.out.println("构造器调用");
        this.name = name;
    }

    public static Cat getInstance() {
        if (cat == null) {
            cat = new Cat("小可爱");
        }
        return cat;
    }
}
编辑此页
上次更新:
Prev
1.10 集合
Next
1.11 HashSet