原理
- 保证在内存中,只有一个对象。
如何去保证 - 构造函数私有化
- 自己创建当前类对象;
- 对外提供公共的访问已经创建好的对象;
种类 - 饿汉式;
class Teacher{
private static final Teacher t=new Teacher();
private Teacher(){};
public static Teacher getTeacher(){
return t;
}
} - 懒汉式;
class Student{
private static Student s=null;
private Student(){};
public static Student getStuent(){
if(s==null){
s=new Student();
}
return s;
}
}
两种设计模式的区别
- 饿汉式:随着类的加载而创建对象;
-懒汉式:当调用的时候创建对象,以后使用的就是是同一个对象;(延迟加载)
servlet就是一种单例模式;