public class 关键字static {
public static void main(String[] args) {
Test20.i = 10;
Test20.i = 20;
System.out.println(Test20.i);
System.out.println(Test20.i);
double d = Math.random();
}
}
class Test20 {
static int i;
static int j;
public void setI(int a) {
i = a;
}
public static void setJ(int a)
j = a;
}
}
为什么这个程序输出两个20?
參考答案:这个似乎很明显啊
public static void main(String[] args) {
Test20.i = 10;
Test20.i = 20; 运行到这里 Test20.i=20
System.out.println(Test20.i); 打印20
System.out.println(Test20.i); 打印20
double d = Math.random();
}
就是2个20了 你只用了Test20.i 没有用到Test20.j
回答补充:
你没有调用Test20里的方法 所以没有用到
如果你的目的是通过Test20里的方法修改i的值
那么你应该先调用Test20的方法,在println