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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© meng12 中级黑马   /  2015-6-7 13:23  /  500 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
单例设计模式保证变量的唯一性
*/
//饿汉式单例设计模式
class SingleDemo
{
        private int num;
       
        public void setNum(int num)
        {
                this.num = num;
        }
        public int getNum()
        {
                return num;
        }

        private SingleDemo(){}
       
        private static SingleDemo s = new SingleDemo();

        public static SingleDemo getInstance()
        {
                return s;
        }
}
class SingleTest
{
        public static void main(String[] args)
        {
                //SingleDemo s1 = SingleDemo.getInstance();
                //SingleDemo s2 = SingleDemo.getInstance();

                Single s1 = Single.getInstance();
                Single s2 = Single.getInstance();

                s1.setLen(30);

                int sun = s2.getLen();
                System.out.println("num="+sun);
        }
}
//懒汉式单例设计模式
class Single
{
        private int len;
        public void setLen(int len)
        {
                this.len = len;
        }
        public int getLen()
        {
                return len;
        }

        private static Single sin = null;

        public static Single getInstance()
        {
                if(sin==null)
                {
                        synchronized(Single.class)
                        {
                                if(sin==null)
                                {
                                        sin = new Single();
                                }
                        }
                }
                return sin;
               
        }
}

5 个回复

倒序浏览
不错,学习一下
回复 使用道具 举报
把单例设计模式的代码放在类的前几行比较好,可以加强阅读性
回复 使用道具 举报
学习了,谢谢分享
回复 使用道具 举报
提前预习了,过几天就要将这个设计模式了
回复 使用道具 举报
我也是不很懂啊,可以看看那谢谢楼主了e
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马