顾名思义,单例也就是说一个类只创建一个对象
这里介绍饿汉式和懒汉式
饿汉式
饿汉式:
1,私有化类的构造器
2,内部创建类的对象
3,提供公共的静态方法,返回类的对象
public class SingletonTest {
}
//饿汉式
class Bank{
private Bank() {
}
//要求此对象必须声明为静态
private static Bank instance=new Bank();
public static Bank getInstance(){
return instance;
}
}
懒汉式
懒汉式:
1,私有化构造器
2,声明当前类对象,没有初始化
3,声明public,static的返回当前类对象的方法
class Order{
private Order(){
}
private static Order instance=null;
public static Order getInstance(){
if(instance==null){
instance=new Order();
}
return instance;
}
private static Order intance=null;
}
区分饿汉式和懒汉式
饿汉式:
坏处:对象加载时间过长
好处:饿汉式式线程安全
懒汉式:
好处:延迟对象的创建
目前的写法坏处:线程不安全