Java - 何时初始化对象

时间:2010-12-30 03:11:06

标签: java

  

可能重复:
  Which one is the better way of code writing?

大家好,

我想知道下面两种初始化方法之间是否有任何区别。如果是这样,哪种方法被认为是最佳做法?提前谢谢。

Class Foo {
    List myList = new ArrayList();    
}


Class Foo {
    List myList;

    public Foo() {        
        myList = new ArrayList();
    }

}

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

如果您知道要将类成员初始化为什么,最好将其作为第一个示例。在这种情况下,您将创建一个新的ArrayList。您还应该将其设为private final,除非您打算通过类方法更改它。

如果构造函数接受应用于成员的参数,我只在构造函数中初始化东西 - 否则我在它之外做。

答案 2 :(得分:1)

我认为这是一个风格问题......我尽可能选择前者,但必要时更喜欢后者。

答案 3 :(得分:1)

我个人更喜欢第二种(在构造函数中创建新对象)。但它们之间没有区别。

唯一的区别可能是如果你有两个方法创建的两个对象,首先创建由第一个方法创建的对象,然后在它之后创建在构造函数中创建的对象。