gpt4 book ai didi

java - 在 Java 中创建对象时重载构造函数 VS 传递 null

转载 作者:搜寻专家 更新时间:2023-11-01 01:28:19 26 4
gpt4 key购买 nike

如果一个类在对象创建过程中需要多个字段信息,而且它允许的信息较少。那么我们有两个选择
1.提供多个构造函数,或者
2. 允许客户端在创建对象时传递空参数。

其中哪一个是最佳实践。例如:
案例一:

public class Test {
Test(A ob1,B ob2, C ob3){

}
Test(A ob1,B ob2){
this(ob1, ob2, null);
}
public static void main(String args[]){
Test ob = new Test(new A(),new B());
}
}

案例二:

public class Test {
Test(A ob1,B ob2, C ob3){

}
public static void main(String args[]){
Test ob = new Test(new A(),new B(), null);
}
}

我在同一个类中使用了 main 方法。请在其他一些类中考虑这些主要方法。

最佳答案

最好使用多个构造函数。许多标准 API 库也已经实现了它。此外,它使代码松散耦合,而不是通过传递显式“空”值来创建对象的好习惯。

情况 2 增加了高耦合的可能性。

除了主要问题:阅读更多:Best way to handle multiple constructors in Java

编辑:

更好的做法是使用命名工厂方法来构造对象,因为它们比拥有多个构造函数更能 self 记录。 [Joshua Bloch 的 Effective Java]

关于java - 在 Java 中创建对象时重载构造函数 VS 传递 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10613479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com