在我的应用程序中,我有一些在android Application
中实例化的对象,应该像一个单例。这很好用:
public class App extends Application {
private final Manager manager = new Manager(); //this is the singleton class
//getters and other stuff
}
现在,每当我需要访问我的经理类时,我都会通过应用程序上下文调用它。好的。不过,我希望用户阻止创建Manager
个对象。我想确保客户端只能通过应用程序上下文访问manager
对象,而不是通过调用Manager
创建自己的new Manager()
对象...
答案 0 :(得分:2)
您可以将Manager类放在App类中并将其设置为私有。
然后,只有从App内部才能以任何方式访问该类。
答案 1 :(得分:2)
您应该创建工厂方法并使用它来创建Manager
的实例。 请注意: Manager
的构造函数应该是私有的。
经理应该是这样的:
公共班级经理{
private static Manager instance;
private Manager() {
...
}
public static Manager getManager() {
if (instance == null) {
instance = new Manager()
}
return manager;
}
}
有许多单例模式实现。你可以尝试谷歌找到很多例子。