为了账号安全,请及时绑定邮箱和手机立即绑定

静态类和单例模式的区别?

静态类和单例模式的区别?

静态类和单例模式的区别?静态类和单例模式之间有什么实际的(即实际的)区别?它们都可以在不实例化的情况下被调用,它们都只提供一个“实例”,而且它们都不是线程安全的。还有什么区别吗?
查看完整描述

4 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

是什么使您说单例或静态方法都不是线程安全的?通常都是实现为线程安全。

单例和一组静态方法之间的最大区别是,单例可以实现接口(或者派生自有用的基类,尽管在我的经验中不那么常见),所以您可以像“只是另一个”实现一样传递单例。


查看完整回答
反对 回复 2019-06-01
?
慕仙森

TA贡献1827条经验 获得超7个赞

单例允许访问单个创建的实例-该实例(或者更确切地说,是对该实例的引用)可以作为参数传递给其他方法,并将其视为正常对象。

静态类只允许静态方法。


查看完整回答
反对 回复 2019-06-01
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

  1. 单例对象存储在

    ,但是静态对象存储在

    堆叠.

  2. 我们可以的

    克隆

    (如果设计器不允许)单例对象,但是我们不能克隆静态类对象。
  3. 单例类遵循

    OOP

    (面向对象的原则),静态类不。
  4. 我们可以实现

    interface

    使用Singleton类,但是类的静态方法(或例如C#)

    static class

    )不能。


查看完整回答
反对 回复 2019-06-01
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

Singleton模式与静态类相比有几个优点。首先,单例可以扩展类和实现接口,而静态类不能(它可以扩展类,但不继承它们的实例成员)。单例可以延迟或异步初始化,而静态类通常是在首次加载时初始化的,这会导致潜在的类加载程序问题。然而,最重要的优点是,单例可以在不强迫用户假设只有一个实例的情况下进行多态处理。


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 3081 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信