互相学习,希望大家多分享些面试题,或者心得!!!!
/*
需求:
编写一个延迟加载的单例设计模式。
思路:
1.创建一个类Teacher
2.外界不能够随意创建对象
3.把构造方法私有
4.类本身创建一个对象
5.通过公共的方式提供给别人
*/
class Teacher {
// 把构造方法私有
private Teacher() {
}
// 静态方法只能访问静态的方法,所以加static
static Teacher t = null;
// 线程不安全,加锁synchronized
public synchronized static Teacher getTeacher() {
// 如果t是null,就创建
if (t == null) {
t = new Teacher();
}
return t;
}
public void show() {
System.out.println("hello");
}
}
public class Test5 {
public static void main(String[] args) {
// 创建对象
Teacher t1 = Teacher.getTeacher();
Teacher t2 = Teacher.getTeacher();
System.out.println(t1 == t2);
t1.show();
t2.show();
}
}
|
|