假设我有这个代码。
public class Data {
public static int x, y;
// ...
}
// ...
public static ArrayList<Data> myData = new ArrayList<Data>();
现在,如果从我的主班做
Data thisData;
thisData.initData();
myData.add(thisData);
thisData.changeData();
myData.add(thisData);
// ... repeat and repeat and repeat
问题是:静态前缀如何改变代码的行为?我的意思是:myData 是否总是由同一个对象填充,因为它的字段 x 和 y 已被声明为静态?或者 myData 是否总是由新对象填充?换句话说:add() 语句如何添加对象?复制它?
谢谢。