单例模式

具体解析看下面代码:

public class Singleton {
    //用private确保在外部不能new一个实例,确保实例只能由单例类自己创造
    private Singleton() {
    }


    //private确保只能通过getInstance()获得该单例类的实例
    //因为下面要在静态方法getInstance()中用instance,所以要将其声明为静态变量
    private static Singleton instance;

    //public确保外界可以获得该单例类的实例
    //static申明为静态方法,确保外界可以通过类名直接调用该方法,顺利创建该单例类的实例
    //synchronized确保在多线程环境下单例模式还能正常工作
    public static synchronized Singleton getInstance() {
        //确保只会创造一个实例
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }

}  

  至于单例模式的各种实现方法我这里就不写了,网上很多。。。。
  关于单例模式的一些应用可见这篇文章:单例模式的常见应用场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值