以Policy类为例:
public class Policy {
private SalesPersonsalesperson;
// code missing to conserve space.
. .
public SalesPersongetSalesPerson() {
return this.salesPerson;
}
}
当Policy创建时,你可以创建一个SalesPerson对象:
public Policy() {
this.salesPerson = new SalesPerson();
}
或者你可以用懒惰初始化的延迟SalesPerson对象的创建,直到真正需要它的时候:
public Policy() {
}
public SalesPersongetSalesPerson() {
if ( this.salesPerson == null ) {
this.salesPerson = new SalesPerson();
}
return this.salesPerson;
}
注意:当使用这个模式时,如果你事先知道总是要使用这个属性,那么惰懒初始化是不正确的。因为它只会增加你的代码的复杂性。另外,如果你需要你的类是线程安全的,那么你需要同步SalesPerson对象的测试和创建。