作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我使用 main
方法创建了以下类,它创建了 Application
的新实例和 ApplicationModel
的实例,此特定
和 Application
的 ApplicationViewApplicationController
。
public class Application
{
// Variables
private ApplicationSettings settings;
private ApplicationModel model;
private ApplicationView view;
private ApplicationController controller;
// Constructor
public Application()
{
settings = new ApplicationSettings();
model = new ApplicationModel();
view = new ApplicationView(model);
controller = new ApplicationController();
}
// Main method
public static void main(String[] args)
{
Application application = new Application();
}
// Getters for settings, model, view, controller for instance of Application
}
我知道,Application
永远只有一个唯一的实例。
我想在我的 ApplicationModel
、ApplicationView
和 ApplicationController
类中获取这个特定实例。
这怎么可能?
最佳答案
我会在 Application 类上使用单例。
放置一个public static
方法来返回您唯一的应用程序实例。
public class Application
{
private Application() { } // make your constructor private, so the only war
// to access "application" is through singleton pattern
private static Application _app;
public static Application getSharedApplication()
{
if (_app == null)
_app = new Application();
return _app;
}
}
您可以阅读有关单例设计模式的更多信息 here .
每次您需要唯一的 Application
实例时,您需要:
Application app = Application.getSharedApplication();
关于java - 如何从 Java 中的另一个类获取类的特定实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11987123/
我是一名优秀的程序员,十分优秀!