第三章 单例模式

13 篇文章 0 订阅
12 篇文章 0 订阅

3.1单例(Singleton)模式
  保证一个类仅有一个实例,并提供一个访问它的全局访问点。

3.2单例模式-概述

单件模式是关于怎样设计一个类,并使得该类只有一个实例的成熟模式,该模式的关键是将类的构造方法设置为private权限,并提供一个返回它的唯一实例的类方法。

3.3结构

包括一个角色:单件类(Singleton)


3.4使用

public class Moon{
      private static Moon  uniqueMoon;
      double radius;
      double distanceToEarth;
      private Moon(){
           uniqueMoon=this;
           radius=1738;
           distanceToEarth=363300;
      }     
      public static synchronized Moon getMoon(){   
            if(uniqueMoon==null){
                  uniqueMoon=new Moon();
            }
            return uniqueMoon;
      }
      public String show(){
           String s="月亮的半径是"+radius+"km,距地球是"+distanceToEarth+"km";
           return s;
      }
}

 3.5单例模式-什么时候使用

  • 必要条件
    在一个系统中要求一个类只需要一个实例时才可以被用来作为单例模式,反过来说如果一个类需要多个实例化对象共存那么就不适合单例模式
    回收站是单例模式的体现

3.6单例模式-优点

  • 单件类的唯一实例由单件类本身来控制,所以可以很好地控制用户何时访问它。
  • 节省内存资源
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值