我有一个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
参数。我怎么能这样做?
考虑到以上所有问题......我可能错误地认为我应该在这种情况下使用单身吗?