ass*_*ias 28
这对于创建不可变对象很有用:
public class Bla {
private final Color color;
public Bla(Color c) {this.color = c};
}
Run Code Online (Sandbox Code Playgroud)
Bla是不可变的(一旦创建,它就不能改变,因为颜色是最终的).但是你仍然可以通过用各种颜色构建它们来创建各种Blas.
另请参阅此问题.
编辑
也许值得补充一点,"空白决赛"在Java中具有非常特殊的含义,这似乎在评论中引起了一些混淆 - 参见Java语言规范4.12.4:
空白最终是一个最终变量,其声明缺少初始化程序.
然后,您必须在构造函数中分配该空白最终变量.
类的final属性必须在创建对象之前指定一个值.所以你可以为它们赋值的最后一点是构造函数.
这通常用于不可变对象.
public class Foo {
private final Bar bar;
public Foo(Bar bar) {
this.bar = bar;
}
public Bar getBar() {
return new Bar(bar);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12777 次 |
| 最近记录: |