我有一个问题,我正在创建一个类,在我的课堂上,我有一些变量,我想要只分配一次,但我想要该类的多个实例。例如:
public class UserHandler{
private ArrayList<String> users = new ArrayList<String>();
public void addUser(String user) {
users.add(user)
}
}
这只是一些示例代码。如果我创建了多个类的实例,那么ArrayList会被多次实例化,还是只实例化一次?
答案 0 :(得分:1)
如果数组声明为
static
将为UserHandler的每个实例创建一次。
如果您将声明更改为 private static ArrayList<String> users = new ArrayList<String>();
static
它只会被创建一次,并在不同的实例之间共享。
您可以在Oracle教程中找到有关班级成员(static
keyword)here的更多信息:
--pv=false
关键字,用于创建属于类,而不是类的实例的字段和方法。