【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();
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; 的顺序换一下就可以了