gpt4 book ai didi

java - 如何创建具有不同数量参数的对象?

转载 作者:行者123 更新时间:2023-12-01 20:22:45 25 4
gpt4 key购买 nike

我的问题是,如果我想创建一个代表联系人列表中的人员的对象该怎么办。用户必须输入姓氏,否则程序将无法运行。除此之外,用户还可以输入名字、地址、电话号码等,但这些都不是必需的。那么我该如何解决这些问题呢?我可以使用不同的参数组合创建大量构造函数,但我认为这不是正确的解决方案。

你们能帮帮我吗?

最佳答案

简单的方法:使用带有必填字段的构造函数,并提供 setter 来评估其他字段。

如果需要不变性,则采用更复杂的方法:使用构建器来构建 Person 实例。

Builder 应该是 Person 的静态嵌套类,它提供了构建 Builder 对象和 Builder 的方法code> 类提供了设置 Builder 对象值的方法。
此方法中的每个方法都会返回当前的 Builder 实例,但 build() 会创建并返回所创建的 Person 对象。

这是一个示例类:

public class Person {

private String name;
private String address;
private String phone;

// private constructor
private Person() {
}

public static class Builder {

private String name;
private String address;
private String phone;

// mandatory fields
public Builder(String name) {
this.name = name;
}

public Builder address(String address) {
this.address = address;
return this;
}

public Builder phone(String phone) {
this.phone = phone;
return this;
}

public Person build() {
Person p = new Person();
p.name = name;
p.address = address;
p.phone = phone;
return p;
}
}

}

你可以这样使用它:

Person person = new Person.Builder("myName").address("myAddress").build();

 Person person = new Person.Builder("myName").address("myAddress").phone("my phone").build();

关于java - 如何创建具有不同数量参数的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44356440/

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