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();


相关文章
|
7月前
|
IDE Java 开发工具
@Builder这个注解的作用
@Builder这个注解的作用
236 0
|
JavaScript 开发工具 Windows
扩展的方法:es6 安装模块builder
扩展的方法:es6 安装模块builder
46 0
|
5月前
@Builder 注解问题之如何在使用@Builder时设置默认值
@Builder 注解问题之如何在使用@Builder时设置默认值
396 0
|
5月前
@Builder 注解问题之@Builder生成的构造器存在问题如何解决
@Builder 注解问题之@Builder生成的构造器存在问题如何解决
139 0
Zp
使用@Data、@Builder的注意点
使用@Data、@Builder的注意点
Zp
268 0
|
设计模式 Java 开发者
火遍全网的Hutool,如何使用Builder模式创建线程池
火遍全网的Hutool,如何使用Builder模式创建线程池
703 0
火遍全网的Hutool,如何使用Builder模式创建线程池
Builder模式介绍
Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精确地控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。
|
Java
Builder模式
在Java编程中,常常需要为一个Bean构建成员变量或者构建参数,常用的方法有使用构造函数、使用JavaBean的set()方法,但是这两个方案或多或少都存在一定的缺点,于是今天的主角builder模式出场了,它解决了这种典型应用场景的问题,采用简洁明了的使用方式,灵活多变的链式调用,使得多个参数的Bean的构建变得十分简洁。
133 0
|
Java UED 开发者
java基础之builder模式
Builder 使用创建者模式又叫建造者模式
956 0