builder 模式

简介: builder 模式

1.实例化对象赋值

(1)构造函数重载

public class MyTestBean {
    private long age;
    private String name;
    public MyTestBean() {
    }
    public MyTestBean(long age, String name) {
        this.age = age;
        this.name = name;
    }
    public MyTestBean(String name) {
        this.name = name;
    }
    public MyTestBean(long age) {
        this.age = age;
    }
}

(2)get、set方法

public class MyTestBean {
    private long age;
    private String name;
    public long getAge() {
        return age;
    }
    public void setAge(long age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

2.builder 模式

public class MyTestBean {
    private final int id;
    private final String name;
    private final int type;
    private final float price;
    private MyTestBean(Builder builder) {
        this.id = builder.id;
        this.name = builder.name;
        this.type = builder.type;
        this.price = builder.price;
    }
    public static class Builder {
        private int id;
        private String name;
        private int type;
        private float price;
        public Builder id(int id) {
            this.id = id;
            return this;
        }
        public Builder name(String name) {
            this.name = name;
            return this;
        }
        public Builder type(int type) {
            this.type = type;
            return this;
        }
        public Builder price(float price) {
            this.price = price;
            return this;
        }
        public MyTestBean build() {
            return new MyTestBean(this);
        }
    }
}

调用:

MyTestBean myTestBean = new MyTestBean.Builder().id(1).name("xq").build();


相关文章
|
5月前
|
IDE Java 开发工具
@Builder这个注解的作用
@Builder这个注解的作用
176 0
|
11月前
|
JavaScript 开发工具 Windows
扩展的方法:es6 安装模块builder
扩展的方法:es6 安装模块builder
35 0
|
3月前
@Builder 注解问题之如何在使用@Builder时设置默认值
@Builder 注解问题之如何在使用@Builder时设置默认值
205 0
|
3月前
@Builder 注解问题之@Builder生成的构造器存在问题如何解决
@Builder 注解问题之@Builder生成的构造器存在问题如何解决
|
设计模式 算法 Java
建造者模式(Builder Pattern)
建造者模式(Builder Pattern)是一种创建型设计模式,它可以将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。
80 1
Zp
使用@Data、@Builder的注意点
使用@Data、@Builder的注意点
Zp
198 0
建造者模式(Builder Pattern) - alvinlkk的个人空间
建造者模式(Builder Pattern) - alvinlkk的个人空间
94 0
建造者模式(Builder Pattern) - alvinlkk的个人空间
Builder模式介绍
Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精确地控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。
如何将SAP Document Builder的word控件设置成只读模式
如何将SAP Document Builder的word控件设置成只读模式
108 0
如何将SAP Document Builder的word控件设置成只读模式
|
Java
Builder模式
在Java编程中,常常需要为一个Bean构建成员变量或者构建参数,常用的方法有使用构造函数、使用JavaBean的set()方法,但是这两个方案或多或少都存在一定的缺点,于是今天的主角builder模式出场了,它解决了这种典型应用场景的问题,采用简洁明了的使用方式,灵活多变的链式调用,使得多个参数的Bean的构建变得十分简洁。
124 0