/*
模式:
模式就是解决一类问题的固定步骤
软件行业的23种设计模式:
单例设计模式
模板设计模式
装饰设计模式
工厂设计模式
单例设计模式: 保证一个类在内存中只有一个对象
饿汉单例设计模式的步骤:
1. 私有化类的构造函数,如果jvm无法访问到构造函数也就无法构造对象;
2. 声明本类的引用类型变量,并且使用该变量指向本类对象;
3. 提供一个公共的方法获取本类的对象;
懒汉单例设计模式的步骤
1. 私有化类的构造函数,防止被jvm调用:
2. 声明本类的应用类型变量,但是不创建对象;
3. 提供公共静态的方法获取本来的对象,获取之前先判断是否已经创建了本类对象,
如果已经创建了,俺么直接返回对象即可,如果还没有返回那么创建本利的对象然后再返回。
推荐使用饿汉单例设计模式,因为懒汉设计模式存在线程安安全问题.
*/
//饿汉单例设计模式
class Single
{
private Single()
{
System.out.println("您使用单例模式创建了一个对象!");
}
private static Single s1 = new Single();
public static Single getInstance()
{
return s1;
}
}
//懒汉单例设计模式
class Single2
{
private Single2(){}
private static Single2 s2;
public static Single2 getInstance()
{
if (s2 == null)
{
s2 = new Single2();
}
return s2;
}
}
class Demo3
{
public static void main(String[] args)
{
Single2 s1 = Single2.getInstance();
Single2 s2 = Single2.getInstance();
if (s1 == s2)
{
System.out.println("你好");
}
}
}