javaに参照渡しはないと思ってたのですが以下のコードをみるとfは参照渡しに見えます
コンパイラの最適化とかでインライン展開でもされるのでしょうか
class T{
public int a;
public T(int v){
a=v;
}
}
public class HelloWorld {
public static T f(T a){
a.a = 7;
return a;
}
public static void main(String[] args) throws Exception {
// Your code here!
T a = new T(10);
T b = new T(10);
T c = f(a);
T d = a;
System.out.println(a.a);
System.out.println(b.a);
System.out.println(c.a);
System.out.println(d.a);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}