如何创建要通过应用程序访问的类的实例

时间:2012-11-12 15:30:31

标签: java

我有一个util class,其中没有访问会话对象的权限。我想在login期间仅初始化此util类一次,并希望在整个应用程序中获取该实例。

这里每个用户都需要拥有自己的util类实例来实现这一点。

请帮帮我

3 个答案:

答案 0 :(得分:2)

你正在寻找Singleton Pattern ??

吗?
private static MyClass instance;
private MyClass(){}

    public static MyClass getInstance() { 
        if (instance != null) {
            return instance; 
        } else {
            return new MyClass();
        }
    }

    public static void setInstance(MyClass inst) {
        instance = inst;
    }

答案 1 :(得分:0)

如何使用factory pattern。然后,您可以将参数传递给factory方法,并为每个用户返回一个新实例。

答案 2 :(得分:0)

我同意@GanGnaMStYleOverFlow关于单身人士,但希望提供更好的实施版本:

public class MyClass {
    private static MyClass instance;
    private MyClass() {}

    public static synchronized MyClass getInstance() { 
        if (instance != null) {
            instance = new MyClass();
        }
        return new MyClass();
    }
}

此类无法直接实例化,因为构造函数是私有的。您无法创建此类的2个实例,因为它由getInstance()管理。此实现是线程安全的,因为getInstance()synchronized