设计模式-单例模式

单例模式是一种创建型模式

java 复制代码
private static Singleton_Class singletonClass=new Singleton_Class();
    private Singleton_Class(){}    
    private static Singleton_Class singletonClass=new Singleton_Class();
    public static Singleton_Class getSingletonClass() {
        return singletonClass;
    }
    public void singletinSay(){
        System.out.println("这是单例模式");
    }

单例模式特点是不能创建对象,构造方法私有化不可以new对象(),通过统一的方法来获取单例对象(单例对象会随着类的加载初始化)

还有一种枚举的方式获取单例对象

java 复制代码
public enum Singleton {
    NEWSINGLETON;
    public void singletonSay(){
        System.out.println("这是枚举单例模式");
    }
}

public class Main {
    public static void main(String[] args) {
        Singleton.NEWSINGLETON.singletonSay();
    }
}

枚举的构造器是私有的,且枚举类型的每个常量在Java虚拟机中都是唯一,使用枚举来创建单例模式,会很方便

git地址

Design_pattern: 设计模式

相关推荐
咖啡八杯1 分钟前
GoF设计模式——单例模式
java
0xDevNull1 分钟前
JDK多版本切换安装与配置
java·后端
流年似水~3 分钟前
Java新手5分钟接AI:Spring AI Alibaba实战
java·人工智能·spring
DarkAthena7 分钟前
【YaShanDB】给YaShanDB开发R2DBC驱动
java·yashandb·r2dbc
014-code43 分钟前
布隆过滤器:判断“可能存在“和“一定不存在“
java·redis
兔小盈44 分钟前
多线程篇-(二)线程创建、中断与终止
java·开发语言·多线程
jnrjian1 小时前
Library Cache Load Lock library cache pins are replaced by mutexes
java·后端·spring
abcnull1 小时前
传统的JavaWeb项目Demo快速学习!
java·servlet·elementui·vue·javaweb
risc1234561 小时前
【lucene】PostingsEnum跟TermsEnum 的区别是啥?
java·lucene