黑马程序员技术交流社区

标题: 单例设计模式 [打印本页]

作者: Ryan_Println    时间: 2016-9-6 15:12
标题: 单例设计模式
单例设计模式的概念? 还有特点及组成
作者: Ryan_Println    时间: 2016-9-7 10:41
怎么都木有人回复啊
作者: gjf821687    时间: 2016-9-7 12:34
单例设置模式就是一个类不能从外部直接创建对象(因为该类的构造器是私有的),只能通过该类的方法获取一个对象,例如
public class Singleton_1 {
        private static Singleton_1 instance = null;
        private Singleton_1(){};
       
        public static Singleton_1 getInstance(){
                if(instance == null){
                        instance = new Singleton_1();
                }
                return instance;
        }
}
作者: crossover    时间: 2016-9-7 12:40
只能new出一个对象
作者: 情天    时间: 2016-9-7 20:45
单例模式是设计模式中最简单的形式之一,这一模式的目的是使得类的一个对象成为系统中的唯一实例。
实现方式:
                饿汉式 : 直接创建对象
                                线程安全的
public class Son {
        /在类中提供一个本类对象
        private static Son s = new Son();
        //构造方法私有化
        private Son(){
        }
        //提供一个公共的方法让外界访问,获取到已创建的本类对象
        public static Son getInstance(){
                return s;
        }
}       

                懒汉式 : 当需要用到对象的时候,再创建对象(延迟加载方式)
                                一个线程对象的时候,这种方式线程是安全的
                                多个线程对象的时候,这种方式线程是不安全, 可以同步机制处理
public class Girl {
        //创建本类对象的引用
        private static Girl g = null;
        //构造方法私有
        private Girl(){
        }
        //提供一个公共的方法让外界访问,获取到已创建的本类对象
        //第一次访问该方法,创建对象
        //之后再访问该方法,返回以前创建好的对象
        public static Girl getInstance(){
                //第一次访问该方法,创建对象
                if (g == null) {
                        g = new Girl();
                }
                //之后再访问该方法,返回以前创建好的对象
                return g;
        }
}


作者: 细听风语为梧桐    时间: 2016-9-7 21:14
写出一个类,类里面有一个方法能得到 这个类的实力对象
作者: SunCowbee    时间: 2016-9-7 22:22
大神,膜拜啊




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