作为我之前的问题Java 方法调用顺序
如果我的代码更改
public class MyClassTest {
private static MyClass m = new MyClass(10);
/**
* @param args
*/
public static void main(String[] args) {
m.initMe(getint());
}
public static int getint() {
m = new MyClass(20);
return 40;
}
}
class MyClass {
private int i;
public MyClass(int i) {
this.i = i;
}
void initMe(int i) {
System.out.println(this.i);
}
}
我的输出是 10 而不是 20 导致 Java 是按值传递的,对吗?因此,受对象引用影响的方法调用顺序与运行时类型保持一致也很重要。