韩顺平Java17——单例模式
单例模式
饿汉式
- 步骤:
1.构造器私有化(为了防止直接new)
2.在类的内部创建一个static的私有化对象
3.提供一个公共的static方法来返回刚才的对象
- 单例模式的对象一般都是重量级的对象,饿汉模式的对象在类加载的时候就已经被创建好,但可能用不到,所以可能会造成资源的浪费。
public class Single01 { /* 单例模式——饿汉式 */ public static void main(String[] args) { GirlFriend instance = GirlFriend.getInstance(); System.out.println(instance); } } class GirlFriend{ private String name; private GirlFriend(String name) { // 私有化构造器 this.name = name; } // 创建对象 private static GirlFriend gf = new GirlFriend("月月"); public static GirlFriend getInstance(){ // 公共方法返回对象 return gf; } @Override public String toString() { return "GirlFriend's name=" + name; } }
懒汉式
public class Single02 { //单例模式——懒汉式 public static void main(String[] args) { Cat instance = Cat.getInstance(); System.out.println(instance); } } class Cat{ private String name; private Cat(String name) { this.name = name; } private static Cat cat; public static Cat getInstance(){ // 判断没有被创建再创建 if (cat==null){ cat=new Cat("小花"); } return cat; } @Override public String toString() { return "Cat{" + "name='" + name + '\'' + '}'; } }
本文来自博客园,作者:紫英626,转载请注明原文链接:https://www.cnblogs.com/recorderM/p/15700656.html