java中基本数据类型默认值问题
以前经常看到java中int类型和Integet类型的变量初始值是什么的问题,说是int类型的变量初始值是0,而Integer类型的变量是null,
但是自己试验的时候,在编译的时候出错,代码如下:
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处则不会报错,提示未初始化。
所以说变量的默认值 只能是在成员变量才存在这种说法的。
具体原因求解