黑马程序员技术交流社区

标题: Java练习(3):单例设计模式的优点及代码演示 [打印本页]

作者: hoshan1    时间: 2015-11-13 18:17
标题: Java练习(3):单例设计模式的优点及代码演示
单例模式(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;
        }
}



作者: 杨洛神    时间: 2015-11-13 18:23
赞赞一个




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