初始化类的字段

时间:2014-04-06 00:44:35

标签: java oop constructor

对不起,如果这个问题很简单......

有两种初始化字段的方法

例如:

第一种方式是:

Public class A{
    int a;
    A(){
        a = 5;
    }
}

第二种方式是:

Public class A{
    int a = 5;
    A(){
    }
}

哪种方式更好?为什么或为什么不呢?

2 个答案:

答案 0 :(得分:0)

这实际上取决于你想要的东西。

如果你只有一个构造函数,那么无关紧要,因为无论哪种方式值都会开始为0.如果你有多个构造函数,它仍然没关系,但它可能更好它有以下几种方式:

int a;

A() {
    a = 0;
}

A(int newA) {
    a = newA;
}

当我亲自开发时,我将仅在以下情况下将值分配在顶部:

  1. 我指定的变量是一个常量。
  2. 该变量具有某种默认值,可以且通常会更改。

答案 1 :(得分:0)

两种方式都是正确的。

如果您不想重复代码,请选择第二种方式,如下面的代码所示:

public class A{
    int a;
    A(){
       a=5;
    }
    A(String s){
       a=5;
    }
    A(Long l){
       a=5;
    }
 }

 public class A{
    int a = 5;
    A(){
    }
    A(String s){
    }
    A(Long l){
    }
 }

在第二种情况下,您不必为所有重载的构造函数初始化它。

现在取决于你的选择。