简单写个好理解的Builder设计模式

来源:互联网 发布:校园网络安全教育讲座 编辑:程序博客网 时间:2024/05/20 12:24
public class User {    private final String name;    private final int age;    private final String school;    private final String friend;    private User(UserBuilder userBuilder) {        this.name = userBuilder.name;        this.age = userBuilder.age;        this.school = userBuilder.school;        this.friend = userBuilder.friend;    }    public String getName() {        return name;    }    public int getAge() {        return age;    }    public String getSchool() {        return school;    }    public String getFriend() {        return friend;    }    @Override    public String toString() {        return "User{" +                "name='" + name + '\'' +                ", age=" + age +                ", school='" + school + '\'' +                ", friend='" + friend + '\'' +                '}';    }    public static class UserBuilder {        private final String name;        private final int age;        private String school;        private String friend;        public UserBuilder(String name, int age) {            this.name = name;            this.age = age;        }        public UserBuilder setSchool(String school) {            this.school = school;            return this;        }        public UserBuilder setFriend(String friend) {            this.friend = friend;            return this;        }        public User build() {            return new User(this);        }    }}

使用

这里写图片描述

原创粉丝点击