在User中创建builder()
时间: 2024-05-06 21:15:36 浏览: 13
好的,以下是创建`User`类的`builder()`方法的示例代码:
```java
public class User {
private final String name;
private final int age;
private final String email;
private final String address;
private User(Builder builder) {
this.name = builder.name;
this.age = builder.age;
this.email = builder.email;
this.address = builder.address;
}
public static class Builder {
private final String name;
private int age;
private String email;
private String address;
public Builder(String name) {
this.name = name;
}
public Builder age(int age) {
this.age = age;
return this;
}
public Builder email(String email) {
this.email = email;
return this;
}
public Builder address(String address) {
this.address = address;
return this;
}
public User build() {
return new User(this);
}
}
// getters for name, age, email and address
}
```
在这个示例中,`User`类的构造函数是私有的,而`Builder`类是一个公共静态内部类。`Builder`类包含`User`类的所有可选参数,并在`build()`方法中使用这些参数来创建`User`对象。
要创建`User`对象并设置所有可选参数,可以使用以下代码:
```java
User user = new User.Builder("John")
.age(30)
.email("john@example.com")
.address("123 Main St, Anytown USA")
.build();
```
在最后一行中,`build()`方法将返回一个新的`User`对象,其中包含所有可选参数。这种构建模式提供了一种清晰的方式来构建具有多个可选参数的对象。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)