A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天,殇心 中级黑马   /  2014-6-29 19:41  /  783 人查看  /  0 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马