/*
  * 设计模式之单例模式的简单demo
  */
 class Single
 {
     /*
      * 创建一个本类对象。
      * 和get/set方法思想一样,类不能直接调用对象
      * 所以用private限制权限
      */
     private static Single s = new Single();
     /*
      * 构造函数私有化目的是为了只能产生一个对象
      */
     private Single(){}
     // 定义一个方法返回该对象,让外部可以调用。
     public static Single getInstance()
     {
         return s;
     }
 }

 class  SingleDemo
 {
     public static void main(String[] args)
     {
 //        Single s = Single.s;
         Single s1 = Single.getInstance();
         Single s2 = Single.getInstance();
         System.out.println(s1 == s2);
     }
 }
/*
 * 单例模式之饿汉式与懒汉式
 */

 //饿汉式
class Single
{
    private static Single s = new Single();

    private Single(){}

    public static Single getInstance()
    {
        return s;
    }
}
//懒汉式
class Single
{
    private static Single s = null;

    private Single(){}

    public static Single getInstance()
    {
        if (s == null)
        {
            s = new Single();
        }
        return s;
    }
}
 /*
  * 单例模式的小例子
  */
 class SuperMan
 {
     private String name;

     private static SuperMan man = new SuperMan("Clarke");

     private SuperMan (String name)
     {
         this.name = name;
     }

     public static SuperMan getInstance ()
     {
         return man;
     }

     public void setName(String name)
     {
         this.name = name;
     }
     public String getName()
     {
         return this.name;
     }
 }

 class SuperManDemo
 {
     public static void main(String[] args)
     {
         SuperMan s1 = SuperMan.getInstance();
         String name1 = s1.getName();
         System.out.println("name1 = " + name1);

         SuperMan s2 = SuperMan.getInstance();
         s2.setName("hero");
         String name2 = s2.getName();
         System.out.println("name2 = " + name2);
     }
 }

设计模式之单例模式的简单demo的更多相关文章

  1. 设计模式之单例模式及应用demo

    单例模式是创建型模式之一. 单例模式顾名思义是单例的,也就是只有一个实例化对象,这都来源于它的私有化构造函数. 单例模式特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3. ...

  2. GJM : C#设计模式(1)——单例模式

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  3. 每天一个设计模式-4 单例模式(Singleton)

    每天一个设计模式-4 单例模式(Singleton) 1.实际生活的例子 有一天,你的自行车的某个螺丝钉松了,修车铺离你家比较远,而附近的五金店有卖扳手:因此,你决定去五金店买一个扳手,自己把螺丝钉固 ...

  4. 设计模式之单例模式——Singleton

                        设计模式之单例模式--Singleton 设计意图: 保证类仅有一个实例,并且可以供应用程序全局使用.为了保证这一点,就需要这个类自己创建自己的对象,并且对外有 ...

  5. [python实现设计模式]-1. 单例模式

    设计模式中,最简单的一个就是 “单例模式”, 那么首先,就实现一下单例模式. 那么根据个人的理解,很快就写出第一版. # -*- coding: utf-8 -*- class Singleton(o ...

  6. Android 设计模式 之 单例模式

    http://blog.csdn.net/fangchongbory/article/details/7734199   目录(?)[+] 单例模式常见情景 首先实现1中的单例模式A 实现2中单例模式 ...

  7. 设计模式之 -- 单例模式(Singleton)

    单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问. 使用说明 1.使用时机  在某些系统中某些对象最多只能存在一个,例如Windows中只能打开一个 ...

  8. php设计模式 1单例模式

    之前很长时间之前就学习过设计模式,但是因为在实践中很少应用,所以忽略了,但现在却意识到设计模式很重要的,程序设计简介高效冗余性代码少. 今天开始把前几天学习的几个设计模式整理一下,首先当然是单例模式. ...

  9. 文成小盆友python-num8 面向对象中的成员,成员修饰符,特殊成员,异常处理,设计模式之单例模式

    本节主要内容: 1.面向对象中的成员 2.成员修饰符 3.特殊成员 4.异常处理 5.设计模式之单例模式 一.面向对象中的成员(类的成员) 类的成员总共可以分为3大类,每类中有不同的分支. 1.总述, ...

随机推荐

  1. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  2. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

  3. A*算法应用[转]

    转自:http://www.cnblogs.com/zhoug2020/p/3468167.html 这是一篇十分精彩/易懂的博客,感谢原博主!本文通过自己的理解在原博文基础上突出一些重点字眼,句子. ...

  4. 【Star CCM+实例】开发一个简单的计算流程.md

    流程开发在CAE过程中处于非常重要的地位. 主要的作用可能包括: 将一些经过验证的模型隐藏在流程中,提高仿真的可靠性 将流程封装成更友好的界面,降低软件的学习周期 流程开发实际上需要做非常多的工作,尤 ...

  5. 网站缓存技术总结( ehcache、memcache、redis对比)

    网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验. 网站缓存按照存放的地点不同,可以分为客户端缓存. ...

  6. opengl 笔记(2)

    /*- * Opengl Demo Test * * Fredric : 2016-7-10 */ #include <GLUT/GLUT.h> #include <stdlib.h ...

  7. 《深入理解Java虚拟机》类文件结构

    上节学习回顾 在上一节当中,主要以自己的工作环境简单地介绍了一下自身的一些调优或者说是故障处理经验.所谓百变不离其宗,这个宗就是我们解决问题的思路了. 本节学习重点 在前面几章,我们宏观地了解了虚拟机 ...

  8. .NET基础拾遗(3)字符串、集合和流

    Index: (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基础 ...

  9. Android,通用ListAdapter

    优点 不需要每个列表都建立Adapter. 使用效果 Item点击事件使用的是自写的事件机制. mListAdapter = new BaseListAdapter<PromotionsMode ...

  10. Jquery

    使用时jquery先引进jquery文件包 <script src="jquery-1.11.2.min.js"></script> 一个页面有多个文件jq ...