您的位置:首页 > 其它

单例模式

2016-06-03 22:32 274 查看
/*

 * 单例模式:保证类在内存中只有一个对象。

 * 

 * 如何保证类在内存中只有一个对象呢?

 * A:把构造方法私有

 * B:在成员位置自己创建一个对象

 * C:通过一个公共的方法提供访问
 */

饿汉模式

public class Student {
// 构造私有
private Student() {
}

// 自己造一个
// 静态方法只能访问静态成员变量,加静态
// 为了不让外界直接访问修改这个值,加private
private static Student s = new Student();

// 提供公共的访问方式
// 为了保证外界能够直接使用该方法,加静态
public static Student getStudent() {
return s;
}

}

懒汉模式

有线程安全问题(synchronized)

public class Teacher {
private Teacher() {
}

private static Teacher t = null;

public synchronized static Teacher getTeacher() {
// t1,t2,t3
if (t == null) {
//t1,t2,t3
t = new Teacher();
}
return t;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: