ps:使用lombok的@Builder註解能夠自動給咱們生成建造者模式代碼java
package com.kuaikan.sample.springboot.aop; public class User { private final int age; // optional private final String phone; // optional private final String address; // optional private User(UserBuilder builder) { this.age = builder.age; this.phone = builder.phone; this.address = builder.address; } public int getAge() { return age; } public String getPhone() { return phone; } public String getAddress() { return address; } public static class UserBuilder { private int age; private String phone; private String address; private UserBuilder() { } public static UserBuilder newBuilder() { return new UserBuilder(); } public UserBuilder age(int age) { this.age = age; return this; } public UserBuilder phone(String phone) { this.phone = phone; return this; } public UserBuilder address(String address) { this.address = address; return this; } public User build() { return new User(this); } } public static void main(String[] args) { User user = UserBuilder.newBuilder() .address("") .age(11) .phone("123") .build(); } }