小编典典

是否可以将继承应用于Singleton类?

java

今天,我在采访中面临一个问题。是否可以在Singleton类上应用继承概念?我说过,由于构造函数是私有的,因此我们无法扩展该Singleton类。

他问我的下一件事是将继承应用于该Singleton类。因此,我将Singleton的构造函数作为受保护对象,认为孩子的构造函数也已受到保护。但是我错了,孩子可以有一个等于或大于该值的修饰符。

因此,我请他在这种情况下举一个真实的例子。他没能给我一个电话,他说我不能问问题,要我说这种情况是否可能。

我有点空白。我的问题是

  • 这可能吗?
  • 即使有可能,它有什么用?
  • 什么样的现实世界场景会要求这种用途?

阅读 305

收藏
2020-12-03

共1个答案

小编典典

引用圣经

单个实例应可通过子类扩展,并且客户应能够使用扩展实例而无需修改其代码,则应使用单例模式。

Singleton模式具有以下好处:[…]
3.允许改进操作和表示。Singleton类可能是子类,并且使用此扩展类的实例配置应用程序很容易。您可以在运行时使用所需的类的实例配置应用程序。

至于如何实现这一点:这本书提出了几种方法,其中最复杂的是注册表,其中按名称查找实例。

2020-12-03