

… …
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,而不是提前初始化。这样的代码更健壮、高效
