在OO Languages中初始化对象属性的最佳实践

7 java oop variables nullpointerexception

这个问题略微强调Java,但适用于任何OO语言.在声明中初始化类变量是一种好习惯吗?对我来说这似乎是显而易见的.它最大限度地减少了愚蠢的空指针异常错误的风险.

例如:

class myClass{

   private String name = "";// initialize here

   public myClass(){

    //something

   }
}
Run Code Online (Sandbox Code Playgroud)

但在一些教科书中,他们并不打算直接进行初始化.哪个更好?有关系吗?

Nat*_*ips 6

最好不要初始化内联的一种情况是,您有多个构造函数以不同方式初始化字段.在声明中初始化字段然后用稍后传递给特定构造函数的值替换该值是低效的.