我有这样的事情:
public class Test {
public static MyObject o4All = null;
public MyObject o4This = null;
public void initialize() {
// create an instance of MyObject by constructor
this.o4This = new MyObject(/* ... */);
// this works, but I am wondering
// how o4All is internally created (call by value/reference?)
Test.o4All = this.o4This;
}
}
我知道,我应该只通过静态方法分配或更改静态变量。但根据 java-docs ( http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html ),我可以使用对象引用。
类方法不能直接访问实例变量或实例方法——它们必须使用对象引用。
如果我更改 o4This 的属性怎么办?o4All 的属性也会间接改变吗?