Java 防止变量被赋值两次

Java 防止变量被赋值两次,java,Java,我有一个问题,我正在创建一个类,在我的类中,我有一些变量,我只想被赋值一次,但是我想要这个类的多个实例。例如: public class UserHandler{ private ArrayList<String> users = new ArrayList<String>(); public void addUser(String user) { users.add(user) } } public类UserHandler{ private ArrayList

我有一个问题,我正在创建一个类,在我的类中,我有一些变量,我只想被赋值一次,但是我想要这个类的多个实例。例如:

public class UserHandler{

private ArrayList<String> users = new ArrayList<String>();

public void addUser(String user) {
users.add(user)
}

}
public类UserHandler{
private ArrayList users=new ArrayList();
公共void addUser(字符串用户){
用户。添加(用户)
}
}

这只是一些示例代码。如果创建类的多个实例,ArrayList会被实例化多次还是只实例化一次?

如果数组被声明为

private ArrayList<String> users = new ArrayList<String>();
它将只创建一次,并在不同实例之间共享


您可以在Oracle教程中找到有关类成员(
static
关键字)的更多信息:

static
关键字创建属于类的而不是类的实例的字段和方法


如果数组声明为

private ArrayList<String> users = new ArrayList<String>();
它将只创建一次,并在不同实例之间共享


您可以在Oracle教程中找到有关类成员(
static
关键字)的更多信息:

static
关键字创建属于类的而不是类的实例的字段和方法



如果希望所有实例共享单个ArrayList,请将其设置为静态。使用静态变量。ArrayList将在上述代码中多次实例化。如果希望所有实例共享ArrayList对象,则将其设置为静态。如果希望所有实例共享单个ArrayList,则将其设置为静态。使用静态变量。ArrayList将在上述代码中多次实例化。如果您希望所有实例共享ArrayList对象,则将其设为static使其成为static。如果他将该静态变量设为private,则他无法从其他类访问该对象。@Abhijeet谁说过必须从其他类访问该对象?如果他想创建该类的多个对象,那么。然后他可能需要在他要实例化的类中访问静态对象class@Abhijeet还可以添加一个方法,让单个用户了解其索引。添加用户的方法已存在。隐藏信息通常是一种很好的做法,例如,是否可以在不更改其他类的情况下将ArrayList更改为标准数组。如果他将该静态变量设置为私有,则他无法从其他类访问它。@Abhijeet谁说必须从其他类访问它?如果他想创建该类的多个对象,那么。然后他可能需要在他要实例化的类中访问静态对象class@Abhijeet还可以添加一个方法,让单个用户了解其索引。添加用户的方法已存在。隐藏信息通常是一种很好的做法,因此,例如,可以在不更改其他类的情况下将ArrayList更改为标准数组。