我正在看另一个
question关于最终变量,并注意到你可以声明最终变量而不初始化它们(一个
blank final变量).是否有理由这样做,什么时候有利?
解决方法
这对于创建不可变对象很有用:
public class Bla { private final Color color; public Bla(Color c) {this.color = c}; }
Bla是不变的(一旦创建,它不能改变,因为颜色是最终的).
但是,您仍然可以通过使用各种颜色构建各种Blas来创建各种Blas.
另见this question例如.
编辑
也许值得一提的是,“空白决赛”在Java中具有非常具体的意义,似乎在评论中造成了一些混乱 – 参见Java Language Specification 4.12.4:
A blank final is a final variable whose declaration lacks an initializer.
然后,您必须在构造函数中分配空白的最终变量.