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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

单例模式(Singleton) ,属于最常见的设计模式之一,大部分系统都会用到,目的是为了维护系统中唯一的一个实例。

主要优点:

1、提供了对唯一实例的受控访问。

2、在系统内存中只存在一个对象,可以节约系统资源,可以提高系统的性能。

3、允许可变数目的实例。

思路:
1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象
2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象。
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
举例说明,代码如下:public class Demo
{
public static void main(String[] args)
{
      //通过s1和 s2赋值后,两个对象的num的值都是一样的,可以确定s1和s2操作的是同一个对象,从而简单说明了单例模式的设计方法
        Single s1 = Single.getSingle();
        Single s2 = Single.getSingle();
        s1.setNum(23);
        System.out.println(s2.getNum());
        s2.setNum(30);
        System.out.println(s1.getNum());
}
}

class Single
{
       private  int num;
      //私有化类的构造函数
        private  Single(){}
      //定义一个给num赋值的方法
       public void setNum(int num)
       {
                this.num=num;
       }
     //定义一个获取num的方法
       public int getNum()
       {
              return num;
       }
      //定义一个内部私有化对象
        private static Single s = new Single();
     //定义一个静态方法,返回一个私有化对象
        public static  Single getSingle()
        {
                return s;
        }
}


1 个回复

正序浏览
赞赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马