以前经常看到java中int类型和Integet类型的变量初始值是什么的问题,说是int类型的变量初始值是0,而Integer类型的变量是null,
但是自己试验的时候,在编译的时候出错,代码如下:
上边代码在编译的时候会出现错误,2和4出会报错,而3处则不会报错,提示未初始化。
所以说变量的默认值 只能是在成员变量才存在这种说法的。
[color=red]具体原因求解[/color]
但是自己试验的时候,在编译的时候出错,代码如下:
public class Test{
private int x;
public static void main(String args[]){
Test test = new Test();
int x;//1
int y=x+3;//2
System.out.println(test.x);//3
}
public int testInt(){
int y;
int z=y+3;//4
return y;
}
}
上边代码在编译的时候会出现错误,2和4出会报错,而3处则不会报错,提示未初始化。
所以说变量的默认值 只能是在成员变量才存在这种说法的。
[color=red]具体原因求解[/color]