单例模式和非单类模式

本文详细介绍了单例模式的概念,即确保一个类只有一个实例,适用于需要全局唯一对象的场景。同时,讨论了单例模式在继承结构中的特性,即使子类继承单例类,子类也会保持单例属性。文章还提醒读者,类的构造函数在继承时不被继承,但可以通过`super()`调用。最后,推荐使用枚举或静态内部类来实现单例模式,以确保线程安全和代码简洁性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单例模式:单例模式就是确保一个类只有一个实例.当你希望整个系统中,某个类只有一个实例时,单例模式就派上了用场.

非单例模式:一个类可以有多个实例 。默认是非单例模式

单例模式可以继承:如A类是单类模式,B继承A,那么B也是单例模式,如果C继承B,C依旧是单例模式。

类的继承中对构造函数是不继承的,只是调用(隐式或显式)。

  • 子类中所有的构造函数都会默认调用父类中的无参构造函数, 因为每一个子类构造函数内第一行都有隐式的 super();
  • 若父类中没有无参构造函数, 那么子类的构造函数内必须通过 super 语句指定要调用的父类中的构造函数.
  • 若子类构造函数中用 this 来指定调用子类自己的构造函数, 那么被调用的构造函数也一样会调用父类中的构造函数.

实现单例模式的方法可以百度

推荐使用 枚举类或者静态内部类  实现单例模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值