为了节省系统内存资源,不提前申请并不急需的内存空间。我们应当尽量在需要的时候创建对象。重复地分配、构造对象可能会因垃圾回收(GC)做额外的工作,降低系统性能,例如下面的代码:
… …
void f() {
int i;
A a = new A();
// 类A 的对象a被创建
// 在判断语句之外没有
// 应用过a对象
...
if (...) {
// 类A 的对象a仅在此处被应用
a.showMessage();
...
}
...
}
… …
正确的书写方式为:
void f() {
int i;
...
if (...) {
A a = new A();
// 类A的对象a被创建
// 在判断语句中
// 使用了a对象
a.showMessage();
}
...
}
上面的代码是在使用a对象的时候才去初始化了a,而不是提前初始化。这样的代码更健壮、高效