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
}
}
46 java 单例类(singleton)
最新推荐文章于 2023-12-22 17:38:45 发布