初始化实例变量的最佳方法是什么

时间:2016-12-15 08:49:59

标签: java

哪个是初始化实例变量的最佳方法?

1 - 默认构造函数

中的实例初始化块
myClass(){ { instanceVariable = 1; } }

2 - 在默认构造函数块

中赋值
myClass(){  instanceVariable = 1;  }

3 - 制作我自己的实例(带参数)

myClass(int instanceVariable){  this.instanceVariable = 1; } 

非常感谢, 约翰

2 个答案:

答案 0 :(得分:1)

选项1:没有任何意义。那个内部块无论如何都没有增加任何价值;除了负面的:困惑你的读者。您永远不希望您的源代码混淆您的读者。

如果您拥有,则选择选项3(因为您希望此字段可配置)。

更重要的是:默认情况下,将私人最终放在您的字段上。因为真正重要的不是 where 你的字段被初始化,而是它们被初始化的事实;理想情况下:恰好一次。

答案 1 :(得分:1)

更合适的方式可能是23

的混合
// final if not modifiable.
private final int instanceVariable;

public MyClass() {  
    // Make use of overloading to call the other constructor with the 
    // default value 1, if the construction process is the same.
    // Work with DRY(Dont repeat yourself) here.
    this(1);
}

public MyClass(int instanceVariable) {  
    this.instanceVariable = instanceVariable;
}