package test;
/**
* 设计模式:单例设计模式
* 定义:一个类中只有一个实例,并提供全局访问点
* 特点:
* 1.构造方法私有化
* 2.声明一个本类静态对象
* 3.给外部提供一个静态方法获取对象实例
* 类型:饿汉式、懒汉式
* 饿汉首选,懒汉有线程安全问题
* @author fantasy
*
*/
public class SingletonTest {
public static void main(String[] args) {
}
}
//饿汉式
class Singleton1{
//声明一个本类静态对象
private static Singleton1 s= new Singleton1();
//构造方法私有化
private Singleton1(){}
//提供外部访问静态对象的静态方法
public static Singleton1 getInstance(){
return s;
}
}
//懒汉式
class Singleton2{
//声明一个本类静态方法
private static Singleton2 s= null;
//构造方法私有化
private Singleton2(){}
//提供外部访问本类对象的的静态方法
public static Singleton2 getInstance(){
if(s==null){
s = new Singleton2();
}
return s;
}
}