Java值传递的问题,求解,求真相

public class StaticTest {
private int num1;
private static int num2;
private int num3;

static {
    num2 = 10;
    System.out.println(" init num");
}

public StaticTest() {
    num1 = 10;
    num3 = 10;
}

public void f1(int num1, int num3) {
    num1 = 20;
    num2 = 20;
    num3 = 20;
}

public void print() {
    System.out.println(" num1=" + num1);
    System.out.println(" num2=" + num2);
    System.out.println(" num3=" + num3);
}

public static void main(String[] args) {
    StaticTest test = new StaticTest();
    test.f1(20, 20);
    test.print();
}

}
输出结果为:
init num
num1=10
num2=20
num3=10
对num1,num3的值实在是不解,求真相

吐血!又是这种问题

你去看看这个问题,类似的
[code="java"]http://www.iteye.com/problems/71456[/code]

[url]http://www.iteye.com/problems/71456 [/url]