java - 是否可以在单例中访问其他类的get方法
问题描述
如果我们将包含其他类的包导入“单例类”,是否可以访问其他类的“获取方法”?如果不可能,我该怎么做。我的意图是通过单例类获取其他类的“获取方法”
public class Singleton {
private static Singleton st = null;
private Singleton() {
}
public static Singleton getInstance() {
if (st == null) {
st = new Singleton();
}
return st;
}
}
解决方案
你的代码有点混乱。它永远不会编译,因为该sc
实例是 a DataCenter
,而Singleton
该类是完全不同的类型。事实上,它甚至不是它的亚型。
但是,让我大致解释一下您要实现的目标。
根据定义,Singleton 模式旨在在整个程序生命周期内实现某个类的单个实例,您可以通过调用getInstance
方法获得。
通常,您要创建的 Singleton 与隐藏其构造函数(通过将其设为私有)并getInstance
公开方法以及其他实用程序方法的类相同。
如果您想使用另一个类来制作另一个Singleton,我实际上可以使用不同的设计模式。就个人而言,我从未见过Singleton 的 Singletons。也许您指的是工厂方法模式,但我建议您仔细研究它的实现。
此链接应该回答您的问题:Java 核心库中的 GoF 设计模式示例。
推荐阅读
- react-native - 为什么 React Native Navigation v2 图标未在 iOS 中显示?
- php - 如何在 WHERE 语句中存在条件的 INSERT-SELECT 查询中返回
- javascript - 如何更改 DataTables 上的 sLengthMenu 位置?
- android - 如何在firebase表中的孩子内创建孩子
- html - 放大/缩小时如何避免标题甚至其他容器混乱?
- c++ - 如何处理构造函数内部的`init()`成员函数和继承
- c - fscanf 返回值和链表
- python - 有效地将稀疏(csc)atrix列添加到正确形状的密集numpy数组中
- c++ - boost 格式为看似相同的字符串产生不同的输出
- module - Ur/Web 中的模块和类型类