单例设计模式:(解决一个类只在内存中只存在一个对象)

单例设计模式:(解决一个类只在内存中只存在一个对象)

问题:如何让一个类在内存中只存在一个对象?

思想:

  1.禁止其他程序创建此类对象;
  2.既然外部不能创建此类对象,就在本类创建;
  3.为了其他程序能访问到本类中的创建的对象,应该对外提供一种访问方式

 

如何用代码来体现(java):(也可用C++,等其他语言实现)
  1.私有化构造函数;
  2.在本类中创建一个对象;
  3.对外界提供访问本类对象的方法

代码:

class Object{
    String name;    
    static Object o=new Object();  //2.在本类中创建一个对象;
    public static Object getObject(){    //3.对外界提供访问本类对象的方法
        return o;
    }
    private Object(){};  //1.私有化构造函数;
}

public class oneObject{
    public static void main(String [] arge){
        Object a=Object.getObject();  //第一个对象
        a.name="Joke";          //修改第一个对象中的属性name,同时也就修改了第二个对象中的name属性
        Object b=Object.getObject();  //第二个对象
        System.out.println(b.name);
    }
}

执行结果:

 

posted @ 2018-05-04 00:38  feiquan  阅读(831)  评论(0编辑  收藏  举报
如果是此文是转载文章,本人会附上转载链接,此篇文章的版权归原创作者所属,如果侵权请与我联系,我会删除此文。

若没有标明转载链接,此篇文章属于本人的原创文章,其版权所属:
作者:feiquan
出处:http://www.cnblogs.com/feiquan/
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
大家写文都不容易,请尊重劳动成果~ 这里谢谢大家啦(*/ω\*)