小编use*_*847的帖子

这些构建器模式之间有什么区别(如果有的话)?

在构建器中声明父类的实例和Field使用该变量初始化每个实例并在构建器中再次单独声明每个变量然后将构建器声明为构造函数的一部分来初始化每个变量之间是否存在差异Field

public class Foo {

    public int i;
    public String s;

    private Foo(Builder builder) {
        i = builder.i;
        s = builder.s;
    }

    public static class Builder {

        private int i;
        private String s;

        public Builder i(int i) {
            this.i = i;
            return this;
        }

        public Builder s(String s) {
            this.s = s;
            return this;
        }

        public Foo build() {
            return new Foo(this);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)
public class Foo {

    public int i;
    public String s;

    public …
Run Code Online (Sandbox Code Playgroud)

java design-patterns builder

2
推荐指数
1
解决办法
49
查看次数

标签 统计

builder ×1

design-patterns ×1

java ×1