单例设计模式

本文深入探讨了Java中实现Singleton设计模式的三种方法,包括私有构造器+静态成员、私有构造器+静态方法、以及Java 1.5之后的枚举类型实现方式,并解释了每种方法的特点和优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  

     单例设计模式(Singleton)是指仅仅被实例化一次的类。

Java1.5之前实现Singleton的两种方法:这两种方法都以实现构造器私有并导出公有的静态成员或静态方法的形式确保类的唯一实例。

    1,

public class Demo1 {
    public static final Demo1 INSTANCE = new Demo1();
    private Demo1(){
    	//......
    }
}

私有构造器仅被调用一次,用来实例化公有的静态成员INSTANCE,因为是私有的构造器,所以保证了该类的唯一实例。

    2,

public class Demo1 {
    private static final Demo1 INSTANCE = new Demo1();
    private Demo1(){
    	//......
    }
    public static Demo1 getInstance(){
    	return INSTANCE;
    }
}

通过公有域静态方法的调用,实现类的唯一性。公有域静态方法的好处:组成类的成员的声明很清楚的表明了这个类是一个Singleton:公有的静态域是final的,所以该域将总是包含相同的对象引用。

java 1.5后,只需编写一个包含单个元素的枚举类型:

public enum Demo{
	INSTANCE;
}

 

  

转载于:https://my.oschina.net/u/223340/blog/87467

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值