具有继承性的Singleton模式的实现

时间:2017-12-18 14:56:30

标签: java inheritance singleton

我有一个User课程。我想创建一个SingletonLoggedUser类,以便跟踪我的应用程序中唯一登录用户的数据。我怎么能按照单例模式编写这个类?

以下是我此刻写的内容:

public class SingletonLoggedUser extends User {
    private static SingletonLoggedUser instance = null;

    public synchronized static final SingletonLoggedUser getInstance() {
        if (SingletonLoggedUser.instance == null)
            SingletonLoggedUser.instance = new SingletonLoggedUser();
        return instance;
    }
}

我想我也应该实现一个private构造函数。怎么样?

这是我的User类实现:

public class User {

    private String userId;
    private String name;
    private String surname;
    private String email;
    private String password;
    private Character type;

    public User() {

    }

    public User(String name, String surname, String userId, String password, String email, Character type) {
        this.name = name;
        this.surname = surname;
        this.userId = userId;
        this.password = password;
        this.email = email;
        this.type = type;
    }
// Getters and setters
}

此外,自从我第一次调用getInstance()后,我应该获得一个新对象,其中包含与登录用户相关的所有数据,我正在考虑将新传递作为参数已记录用户的已生成User对象...但接下来我正在调用getInstance()我希望它只有一个void参数。我怎么能这样做?

考虑到以上所有问题......我可能错误地认为我应该在这种情况下使用单身吗?

0 个答案:

没有答案
相关问题