我问过最近从另一个类获取唯一类的实例。相同(?)对象的不同对象引用
(How to get specific instance of class from another class in Java?)
所以,我想,使其工作:
我Application
:
public class Application
{
// I will always have only one instance of Application
private static Application _application;
// Every instance of Application (one in my case) should have its own View
private View view;
// Constructor for new instance of Application
private Application()
{
view = new View();
}
// Getter for my unique instance of Application
public static Application getSharedApplication()
{
if (_application == null)
_application = new Application();
return _application;
}
// Main class
public static void main(String[] args)
{
// So I'm accessing my instance of Application
Application application1 = getSharedApplication();
// Here is object reference
System.out.println(application1);
// And now I'm accessing the same instance of Application through instance of View
Application application2 = application1.view.getApplication();
// Here is object reference
System.out.println(application2);
}
}
我View
:
public class View
{
// I'm accessing my instance of Application again
public static Application application = Application.getSharedApplication();
// This method should return my unique instance of Application
public Application getApplication()
{
return application;
}
}
的问题是,main
方法返回不同对象引用。
[email protected]
[email protected]
我的代码有什么问题?
它使用一个单身人士和其他形式的全局状态,这就是不对的地方。 – 2012-08-16 18:02:46
当你需要单身人士时,为什么不使用枚举? – 2012-08-16 18:06:12