【JAVA】关于static

来源:百度知道 编辑:UC知道 时间:2024/05/04 10:44:56
public class Tester{

private static int i=method();

private static int j= 10;

public static void main(String[] args){
System.out.println(i);
}
static int method(){
return j;
}
}
菜鸟求解释。。。
运行结果为什么是0
能写一下具体执行顺序么?
偶是菜鸟

因为编译是按顺序编译的,当运行到private static int i=method(); 的时候就调用了method() 而此时int 类型的j没有赋值默认为0 所以i的值为0
所以你打印出来的也就是0了

因为编译是按顺序编译的,所以你把private static int i=method(); 和private static int j= 10; 的顺序换一下就可以了