首页 > 其他分享 >设计模式之单例模式

设计模式之单例模式

时间:2024-02-14 20:23:14浏览次数:29  
标签:Singleton s2 s1 模式 单例 SingletonEnum 设计模式 public

经过多方博客,文章参考,枚举是实现单例模式的最好方式

public enum Singleton {
     INSTANCE;
     public void businessMethod() {
          System.out.println("我是一个单例!");
     }
}
public class MainClass {
    public static void main(String[] args) {
        Singleton s1 = Singleton.INSTANCE;
        Singleton s2 = Singleton.INSTANCE;
        System.out.println(s1==s2);
    }
}
将一个已有的类改造为单例类
public class Singleton {
    private Singleton(){
    }
    public static enum SingletonEnum {
        SINGLETON;
        private Singleton instance = null;
        private SingletonEnum(){
            instance = new Singleton();
        }
        public Singleton getInstance(){
            return instance;
        }
    }
}
……
    public static void main(String args[]) {
        Singleton s1 = SingletonEnum.SINGLETON.getInstance();
        Singleton s2 = SingletonEnum.SINGLETON.getInstance();
        System.out.println(s1==s2);
    }
    ……

标签:Singleton,s2,s1,模式,单例,SingletonEnum,设计模式,public
From: https://www.cnblogs.com/JavaYuYin/p/18015518

相关文章

  • 单例模式(设计一个类,这个类只允许通过方法返回一个对象)
    1什么是单例模式2实现步骤3饿汉单例模式急汉子,娃娃亲,类一加载,对象就创建了。3.1为什么叫饿汉式?类被加载时,对象就被创建了。(太饿了,所以先创建?)常常创建的对象是重量级的对象,如果不用会造成资源浪费。3.2步骤3.3代码举例4懒汉单例模式调用静态方法才创建,考......
  • java 工厂模式
    工厂模式(FactoryPattern)是Java中常用的一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。Java中的工厂模式主要有三种:简单工厂模式(SimpleFactoryPattern)、工厂方......
  • java 抽象工厂模式
    抽象工厂模式(AbstractFactoryPattern)是一种创建型设计模式,它提供了一种方式来封装一组具有共同主题的单个工厂,而不需要指定它们的具体类。在抽象工厂模式中,每个工厂都负责创建一组产品(通常是一系列产品或产品线),这些产品通常相互关联或有某种约束。在Java中实现抽象工厂模式,你通......
  • 设计模式--策略模式(Strategy Pattern)
    策略模式(StrategyPattern)是一种行为设计模式,它定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让算法独立于使用它的客户端。策略模式主要包含以下几个角色:Strategy(策略):这是一个接口,通常用于定义所有支持的算法的公共接口。ConcreteStrategy(具体策略):这是实现了S......
  • VMware Workstation之虚拟机NAT模式
    【摘要】三台虚拟机配置成NAT模式,实现三台虚拟机互通并可以访问互联网。一、虚拟机配置为NAT,实现访问互联网和宿主机1、虚拟网络编辑器配置VMnat8为NAT的虚拟网卡,NAT模式可以基于DHCP为三台虚拟机自动分配IP。2、虚拟机网卡通过dhcp自动获取到IP3、宿主机配置二、VMw......
  • 备忘录模式
    备忘录模式-MementoPattern别名:快照模式-SnapshopPattern或令牌模式-TokenPattern是什么?是指在不破坏封装的前提下,捕获一个对象的内部状态,并且在对象之外保存这个状态,这样我们就可以在需要的时候将该对象恢复到原先保存的状态了。可以做什么?可以提供一种“后悔药”......
  • extism cli 模式简单试用
    安装clicurlhttps://get.extism.org/cli|shcli模式运行官方提供了一个示例项目,可以快速体验命令PLUGIN_URL="https://github.com/extism/plugins/releases/latest/download/count_vowels.wasm"extismcall$PLUGIN_URLcount_vowels--i......
  • 设计模式--行为型模式
    设计模式--行为型模式目录设计模式--行为型模式模板方法模式定义结构举个栗子策略模式定义结构举个栗子命令模式定义结构举个栗子责任链模式定义结构举个例子状态模式定义结构举个栗子使用场景观察者模式定义结构举个栗子中介模式定义结构举个栗子迭代器模式定义结构举个栗子访问......
  • 设计模式--结构型模式
    设计模式--结构型模式目录设计模式--结构型模式代理模式静态代理jdk动态代理(接口实现原理)Cblib动态代理(继承原理)适配器模式类适配器模式对象适配器模式接口适配器模式装饰者模式使用场景:静态代理与装饰者模式的区别:桥接模式使用场景外观模式组合模式享元模式代理模式结构:......
  • 单例模式
    介绍实现步骤饿汉单例模式(急汉子,娃娃亲,类一加载,对象就创建了)为什么叫饿汉式?类被加载时,对象就被创建了。(太饿了,所以先创建?)常常创建的对象是重量级的对象,如果不用会造成资源浪费。步骤代码举例懒汉单例模式(调用静态方法才创建,考前突击,屎到肛门不得不拉)为什么叫懒......