单例设计模式:(解决一个类只在内存中只存在一个对象)
问题:如何让一个类在内存中只存在一个对象?
思想:
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); } }
执行结果: