黑马程序员技术交流社区

标题: 面试题 [打印本页]

作者: 天,殇心    时间: 2014-6-29 19:41
标题: 面试题
互相学习,希望大家多分享些面试题,或者心得!!!!
/*
需求:
  编写一个延迟加载的单例设计模式。
思路:
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();
        }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2