2

我已经用 Java 编码一段时间了,我必须决定是否创建一个变量类级别还是创建一个最终的局部变量,这样我就可以在我的代码中使用它。是否有做出这个决定的标准或逻辑?以某种方式这样做有什么优点和缺点吗?

提前感谢您的任何答案。

4

1 回答 1

11

通常,您最好使用最严格的范围界定。原因是它可以防止写得不好的类的用户弄乱它的内部并导致错误。

如果我是你,如果可能的话,我会将所有变量设为私有的 final 和本地的。如果您必须将其设为非最终版本,请将其设为私有,并且仅允许通过 setter 方法(当然还有 getter)访问它。

如果需要,您可以随时打开范围,但是一旦属性出现并使用中,就很难锁定它。

有关更深入的解释,请参阅Effective Java的“最小化类和成员的可访问性”和“支持不变性”。经典读物

于 2013-01-02T22:48:23.173 回答