标签:饿汉式 模式 创建 zed vat 延迟 nbsp 方法 each
单利设计模式
A:保证对象在内存中只有一个。
B:如何保证?
**不能让其他类来创建对象。
**本类中要创建一个本类对象。
**对外提供公共的访问。
C:步骤 我们的类是Student
**private Student(){}
**Student s = new Student();
**public Student getInstance(){return s;}
单利的两种方式:
第一种方式:饿汉式
class Teacher{
//本类创建一个对象
private static Teacher t = new Teacher();
//为了保证其他类不能够创建对象
private Teacher(){}
//为了外界能够通过类名直接调用
public static Teacher getInstance(){
return t;
}
}
Teacher t1 = Teacher.getInstance();
Teacher t2 = Teacher.getInstance();
第二种方式:懒汉式
class Teacher{
//本类创建一个对象
private static Teacher t = null;
//为了保证其他类不能够创建对象
private Teacher(){}
//为了外界能够通过类名直接调用
public static Teacher getInstance(){
if(t==null){
Synchronized(Teacher.class){
if(t==null){
t = new Teacher();
}
}
}
return t;
}
}
Teacher t1 = Teacher.getInstance();
Teacher t2 = Teacher.getInstance();
注意:开发一般用饿汉式。第二种在多线程的时候,会有安全隐患。
面试一般考懒汉式(延迟加载)
工具类:构造私有,方法静态。直接使用类名调用,工具类一般没有访问数据,创建对象没啥意义。
标签:饿汉式 模式 创建 zed vat 延迟 nbsp 方法 each
原文地址:https://www.cnblogs.com/wangxuekui/p/9404750.html