设计模式-单例模式

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

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: 设计模式

相关推荐
小则又沐风a4 分钟前
类和对象----最终篇
java·前端·数据库
喵叔哟5 分钟前
4.【.NET10 实战--孢子记账--产品智能化】--C# 14 新语法特性详解与实战应用
java·c#·.net
lifallen16 分钟前
Flink Agent:ActionTask 与可续跑状态机 (Coroutine/Continuation)
java·大数据·人工智能·语言模型·flink
5720 天窗16 分钟前
classfinal加密Spring boot3
java·spring boot·后端·classfinal·class final
starsky7623817 分钟前
深入理解 Web 容器:从反射扫描到服务器启动的完整实现
java·前端·tomcat
希望永不加班31 分钟前
SpringBoot 整合 Elasticsearch 实现全文检索
java·spring boot·后端·elasticsearch·全文检索
Seven9734 分钟前
Mybatis基础操作
java
希望永不加班42 分钟前
SpringBoot 多模块项目搭建:service/dao/web分层设计
java·前端·spring boot·后端·spring
星晨雪海44 分钟前
springboot 增删改查全套流程
java·spring boot·spring
Devin~Y44 分钟前
高并发内容社区实战面试:从 Java 基础到 Spring Cloud、Kafka、Redis、RAG 搜索全解析
java·spring boot·redis·spring cloud·kafka·向量数据库·rag