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的值实在是不解,求真相