如何正确编码以将唯一属性保留在单独的对象中
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();
当我继续创建对象时,它们都具有相同的 fname
、lname
和 email
。
实际上,我希望它们具有独特的 fname
、lname
和 email
,因为它们是通过字符串生成方法生成的
是否有任何特定原因将 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 不是静态的,它们可以保存单独生成的值。
我在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();
当我继续创建对象时,它们都具有相同的 fname
、lname
和 email
。
实际上,我希望它们具有独特的 fname
、lname
和 email
,因为它们是通过字符串生成方法生成的
是否有任何特定原因将 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 不是静态的,它们可以保存单独生成的值。