日期:2014-05-18  浏览次数:20701 次

java中变量初始化问题
为什么第二种Dog不对变量初始化会报错。也就是说,我们声明了变量就一定得对变量进行初始化么,如果下面的操作都没有用到该变量是否可以不进行初始化呢?



public static void main(String[] args) {
Compara c1=null,c2=null;
c1.setAge(11);
c2.setAge(20);


Dog dog1,dog2;
dog1.setAge(11);
dog2.setAge(22);
}


java

------解决方案--------------------
java规定局部变量使用前必须初始化
类、对象字段在类装载和new对象的时候会有默认初始化值,如果没有显式初始化的话。但是局部变量不会有默认值,主要是为了防止出错
------解决方案--------------------
没规定必须初始化,如果不初始化的话,会有一个不确定的值,初始化是最好的。如果你不用到那个变量的话,只是一个警告。