Java 在何处构造对象
可能重复:Java 在何处构造对象,java,Java,可能重复: 您好,有人能告诉我使用类实例变量ie.的声明创建对象的区别/优点或缺点吗 public class ClassName{ Object o = new Object(); } 承包人 public class ClassName{ Object o; public ClassName(){ o = new Object(); } } 谢谢大家! 在您的情况下,实际上是相同的 区别在于 还有其他字段依赖于字段“o”或 还有其他的建
您好,有人能告诉我使用类实例变量ie.的声明创建对象的区别/优点或缺点吗
public class ClassName{
Object o = new Object();
}
承包人
public class ClassName{
Object o;
public ClassName(){
o = new Object();
}
}
谢谢大家! 在您的情况下,实际上是相同的 区别在于
在你的情况下,它实际上是相同的 区别在于
在上例中,如果类被加载,则始终会生成一个对象,而在下例中,仅当类被实例化时才创建对象
我想如果不将字段设为静态,那么第二种方法总是可行的。在大写形式中,如果类被加载,则始终会生成一个对象,在小写形式中,如果类被实例化,则仅创建对象
如果不将字段设为静态,我想第二种方法总是可行的。如果它是一个“微不足道”的默认构造函数,我通常在声明时构造它。如果
- 我需要为不同的构造函数进行不同的初始化(显然)
- 初始化取决于构造函数的某些参数(显然)
- 字段的初始化需要任何工作,例如从其他地方获取值
与往常一样,当没有语义差异时,经验法则是:选择你认为可读性最强的替代方法,如果它是一个“微不足道”的默认构造函数,我通常在声明中构造它。如果
- 我需要为不同的构造函数进行不同的初始化(显然)
- 初始化取决于构造函数的某些参数(显然)
- 字段的初始化需要任何工作,例如从其他地方获取值