给字段赋值和在构造函数中初始化字段值的区别

The difference assigning a value to a field and initializing the field value in constructor

这是我今天读到的一个例子:

class HDFC implements Bank{  
     private final String BNAME;  
     public HDFC(){  
            BNAME="HDFC BANK";  
    }  
    public String getBankName() {  
              return BNAME;  
    }  

}

如果是我,我大概会这样创作:

class HDFC implements Bank{  
     private final String BNAME="HDFC BANK";  

    public String getBankName() {  
              return BNAME;  
    }  

}

这两种实现有什么区别?哪个更合适?

这两个片段的行为方式相同。你可以说直接初始化字段是一种语法糖。如果您有多个构造函数并且不想在所有构造函数中重复相同的初始化,这将变得很方便。