public class Person {
     private Man man = new Man();
     public void setMan(Man man) {
           this.man = man;
     }
    public Man getMan() {
         return man;
     }
}
public class Person {
     private Man man = null;
     public void setMan(Man man) {
          this.man = man;
     }
    public Man getMan() {
         if(this.man = null) {
              this.man = new Man();
          }
         return man;
     }
}

解决方案 »

  1.   

    如果这个属性不会被外部修改,完全是类自己用的,就可以在声明的时候创建。
    如果这个属性不会直接被外部设置,只是用去其他API接口的时候,可以在声明的时候创建。比如说ArrayList, 他私有了一个array, 如果用默认的构造函数,就需要在内部创建这个array
      

  2.   

    多谢,可以更详细一点吗,我在使用jxls读取Excel的时候,Department的属性Chief必须要new,不然映射department.chief.name的时候就会报错,这个和创建时机有关联吗?