单例设计模式详解。。。。。。。。。。。

public class Demo01 {

public static void main(String[] args) {
// TODO Auto-generated method stub
/* 单例设计模式:保证类在内存中只有一个对象。
如何保证类在内存中只有一个对象呢?
(1)控制类的创建,不让其他类来创建本类的对象。private
(2)在本类中定义一个本类的对象。Singleton s;
(3)提供公共的访问方式。 public static Singleton getInstance(){return s}

单例写法有三种:
(1)饿汉式 开发用这种方式。
(2)懒汉式 面试写这种方式。多线程的问题?
(3)第三种格式*/

System.out.println(System.in);
System.out.println(System.in);
System.out.println(System.in);

Singleton s1 = Singleton.s;
Singleton s2 = Singleton.s;
Singleton s3 = Singleton.s;
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}
}

class Singleton{
//创建一个对象
public static Singleton s = new Singleton();

private Singleton(){}

}

//(2)懒汉式 面试写这种方式。用到时候才创建对象
/*class Singleton{
//创建一个对象
private static Singleton s = null;

private Singleton(){}

//Instance实例,对象
public static Singleton getInstance(){
if(s == null){
s = new Singleton();
}
return s;
}
}*/

//(1)饿汉式 开发用这种方式。
/*class Singleton{
//创建一个对象
private static Singleton s = new Singleton();

private Singleton(){}

//Instance实例,对象
public static Singleton getInstance(){
return s;
}
}*/

猜你喜欢

转载自www.cnblogs.com/sun-shine1229/p/8973298.html