为什么静态字段用于单例?

 徐小倩是你叫的 发布于 2023-01-30 15:46

我最近一直在阅读单身人士,我常常看到如下代码:

private static SingletonDemo instance = null;

在Singleton类中作为一个字段.

我不想特别了解'静态'在做什么以及为什么需要它.

我在这里阅读了Oracle网站.并且他们使用a numOfBicycles(这是你有多个自行车的时候)的例子来证明使用静态字段,但我认为我正在理解为什么在你只是实例化1个实例时使用它.

1 个回答
  • 关键是你需要一种方法来访问已经创建的单个实例 - 它实际上是一个全局变量.这正是静电场所达到的目标.(至少,就相关的类加载器而言,它是全局的,这在大多数情况下都是重要的.)

    如果它是一个实例变量,那么如果你已经引用了单例对象,那么你只能找到对单例对象的引用,这使它变得毫无意义.

    大多数单例实现都有静态getInstance方法或类似的东西.考虑如何在没有静态字段的情况下实现它,并且您可能更好地了解它为什么需要它.

    (顺便说一句,在大多数情况下,我建议不要使用单例模式.使用依赖注入的方式最终只能在生产中创建一个实例,但每个类本身不是单例,通常最终会给你更可测试和灵活的代码.)

    2023-01-30 15:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有