在Java中,与C++不同,我们可以在其声明中为字段提供初始值:
public class BedAndBreakfast {
public int capacity = 10; //initialize to 10
private boolean full = false; //initialize to false
}
Run Code Online (Sandbox Code Playgroud)
为什么在构造函数中可以更清楚地完成它时需要允许它?
如果使用属性定义默认值,则更清楚.如果您有多个构造函数,则必须在每个构造函数中定义值,这很难看.
最终,编译器将这些值放在每个构造函数中,因此最终结果是相同的.它更易读,更容易支持.
更新:正如BalusC在他的评论中指出的那样,您可以使用初始化程序块,编译器会再次将其附加到每个构造函数:
{
var1 = 10;
var2 = false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
523 次 |
| 最近记录: |