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

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

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

思想:

  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);
    }
}

执行结果:

猜你喜欢

转载自www.cnblogs.com/feiquan/p/8988544.html
今日推荐