46 java 单例类(singleton)

package com.wjl.zy131228;

/*
 如果一个类始终只能创建一个实例,这个类被称为单例类
 为了避免其他类自由创建该类的实例,我们把该类的构造器使用private修饰,从而把该类的所有构造器隐藏起来
 * */
 class SingletonClass {
	//使用一个变量来缓存曾经创建的实例
	private static SingletonClass instance;
	//对构造器使用private 修饰,隐藏该构造器
	private SingletonClass(){};
	//提供一个静态方法,用于返回singleton实例
	//该方法可以加入自定义控制,保证值产生一个Singleton对象
	public static SingletonClass getInstance()
	{
	    //如果instance 为null,则表明还不曾创建Singleton对象
		//如果instance 部位null,则表明已经创建了Singleton对象
		//将不会重新创建新的实例
		if(instance == null)
		{
			//创建一个Singleton 对象,并将其缓存起来
			instance=new SingletonClass();
		}
		return instance;
	}
  
}
 
 
 public class SingletonTest1
 {
	 public static void main(String[] args) {
		//创建Singleton 对象昂不能通过构造器
		//只能通过getInstance 方法得到实例
		 SingletonClass s1=SingletonClass.getInstance();
		 SingletonClass s2=SingletonClass.getInstance();
		 //将输出 true
		 System.out.println(s1==s2);//true

	}
 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值