为什么第二种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

解决方案 »

  1.   


    实体方法如下: public int getAge() {
    return age;
    } public void setAge(int age) {
    this.age = age;
    }是不是跟this.age引用有关系呢?如果不进行初始化是否this.age为空呢?
      

  2.   

    java规定局部变量使用前必须初始化
    类、对象字段在类装载和new对象的时候会有默认初始化值,如果没有显式初始化的话。但是局部变量不会有默认值,主要是为了防止出错