设计模式-单例模式

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

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

相关推荐
2301_780789666 小时前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
学长毕设7 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
步行cgn8 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川8 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵8 小时前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
秋天的怀念_David8 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1008 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin9 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
霸道流氓气质9 小时前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
captain37610 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis