我正在阅读J. Bloch的有效Java,现在我在关于局部变量初始化的章节中。这是他所说的:了解局部变量初始化
几乎每个局部变量声明都应该包含一个初始化方法。如果你还没有足够的信息来初始化 一个明显的变量,那么你应该推迟声明,直到你做到。 其中一个此规则的例外涉及try-catch语句。
那么,if-else
声明呢?我们需要初始化变量只有当某些条件得到满足,并且intialize它以另一种方式,如果它不是,就像
MyClass mc = null;
if(cond)
mc = new MyClass();
else
mc = new MyClass(1);
//use mc
,因为它不是由布洛赫所提到的,是它看作是一个不好的编程技术应该避免?
我不确定“唯一例外”是指“唯一例外”还是“例外之一”。我想这是后者。 – mezzodrinker
@ flashdrive2049也许,但不是在这一节,然后... –