java类成员初始化

大卫 :

我是一个多年的Java程序员,我对此感到有点ham愧,但是这里
有一个问题在构造过程中分配对象与在声明相关字段时直接分配对象之间有区别吗?也就是说,以下两个之间是否有区别:

public class MyClass{
    MyObj obj=new MyObj();
}

public class MyClass{
    MyObj obj;
    public MyClass() {
        obj=new MyObj();
    }
}

当然,我假设此特定的初始化不依赖外部参数。

Jigar Joshi:

构造函数调用之前完成实例变量初始化

不好做。
您可以限制用户访问const。如果要在初始化之前执行某些操作。

最佳实践:

  1. 不要使用声明中的默认值进行初始化(null,false,0、0.0 ...)。
  2. 如果您没有用于更改字段值的构造函数参数,则最好在声明中使用初始化。
  3. 如果字段的值由于构造函数参数而改变,则将> initialization放入构造函数中。
  4. 在您的练习中保持一致。(最重要的规则)

这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章