如何正确编码以将唯一属性保留在单独的对象中

How can I code correctly to keep unique attributes in separate objects

我在user.java

中有如下结构
public class User(){

    string fname;
    string lname;
    string email;

    public User(){
        this.fname = randomCharGenMethod();
        this.lname = randomCharGenMethod();
        this.email = randomCharGenMethod();
   }
}

在另一个 java class 中,我创建了以下对象。

static User user1 = new User();
static User user2 = new User();

当我继续创建对象时,它们都具有相同的 fnamelnameemail

实际上,我希望它们具有独特的 fnamelnameemail,因为它们是通过字符串生成方法生成的

是否有任何特定原因将 User1、User2 声明为静态的?当你处理静态变量时,你应该记住它们是在实例之前加载它们的值。

考虑这段代码,作为一个更简单的例子:

public class User() {
static string fname;
static string lname;
static string email;

public User() {
    this.fname = randomCharGenMethod();
    this.lname = randomCharGenMethod();
    this.email = randomCharGenMethod();
 }
} 

User 的任何新实例都将共享相同的 fname、lname 和 email 值,因为它们是在任何实例化之前加载的。

考虑到这一点,也许如果 user1、user2 不是静态的,它们可以保存单独生成的值。