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

本文介绍了单例设计模式的概念及其实现方法,通过私有化构造函数、内部创建实例和提供获取实例的方法,确保一个类只有一个实例,并全局访问该实例。

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

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

思想:

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

执行结果:

 

转载于:https://www.cnblogs.com/feiquan/p/8988544.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值