在构造函数中实例化对象有什么实际区别吗?

本文关键字:区别 什么 构造函数 实例化 对象 | 更新日期: 2023-09-27 18:07:42

这两种实例化对象的方式有什么实际的区别吗?

public class myClass
{
   private myType myObject = new myType();
}

public class myClass
{
   private myType myObject;
   public myClass()
   {
       myObject = new myType();
   }
}

谢谢你的帮助。

在构造函数中实例化对象有什么实际区别吗?

不,您提供的两种方法之间没有任何实际区别。

答案是

当您稍后阅读代码时,您将查看构造函数,看看在创建类时发生了什么。如果将构造函数逻辑放在构造函数之外,其他开发人员可能会错过正在发生的事情。把构造函数逻辑放到构造函数中。

就代码而言,没有太大的区别。声明中的初始化按照从上到下的文档顺序进行,这可能有副作用,也可能没有副作用。从实用的角度来看,如果您做任何交互调试,您将逐渐讨厌声明初始化,除非您喜欢一次一个地逐步完成它们。

保持代码整洁,在构造函数中初始化。