单例设计模式的作用及用途

单例类的作用:让一个类只能创建一个实例(因为频繁的创建对象,回收对象会造成系统性能下降。)。解决对象的唯一性,保证了内存中一个对象是唯一的 。

使用单例类条件:当前对象的创建比较消耗资源,我们在使用这个对象时只需要有一个就可以应用。这个时候就可以将其设计成单例的模式。在一定的场景中,只有一个这样的实例,比如说银行的号码管理器等。java连接数据库,与数据库的连接会比较消耗资源。我们可以将其做成单例的, 这个时候在内存中就有一个,所有人操作的都是一个。

单例模式的步骤:

                1.构造方法私有化
                                让外部不可以直接创建本类对象

                2.在类内实例化一个本类对象 ,属性一般都会private
                                必须在内部得到一个本类对象。是可以让外部访问到的。但是属性一般都要私有化

                3.在本类内提供一个外部可以访问的获得本类对象的static方法。
                                提供一个可以被外部访问的方法,这个方法构造方法私有化了,所以要做在类方法。

//饿汉式(工作中)
                class Single
                {
                        //在本类内创建一个对象.
                        private static Single s=new Single();
                        //私有构造方法
                        private Single(){
                        
                        }
                        //对外提供公共的可以获得本类对象的方法.
                        public static Single getInstance(){
                                return s;
                        }
                }
                        
                
                //笔试中
                //延迟加载的方式(懒汉式)  不完善,讲多线程还要对其进行改进.
                class Single
                {
                        //在本类内创建一个对象.
                        private static Single s;
                        //私有构造方法
                        private Single(){
                        
                        }
                        //对外提供公共的可以获得本类对象的方法.
                        public static Single getInstance(){
                                if(s==null){
                                        s=new Single();
                                }
                                return s;
                        }
                }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值