构建器是什么?百度后————
是构造方法!
Java默认的构建器是什么,想必大家也明白了吧。
若创建一个没有构建器的类,则编译程序会帮我们自动创建一个默认构建器。
当创建对象需要传入多个参数的时候我们通常会根据参数的数量写不同的构造器,具体如下
public A(int a){}
public A(int a, int b){}
public A(int a, int b, int c){}
根据不同的参数调用不同的构造器,但是当参数多了的时候,这种方式不够灵活,所以会实现动态传参的方法
public A(){}
public void seta(int a){}
public void setb(int b){}
public void setc(int c){}
这种方式提高了传参的可读性,也提高了传参的灵活性,但是会增加代码行数,同时在多线程异步执行的时候导致奇怪的错误。
有没有办法解决呢?既能提高代码可读性,提高参数灵活性,又不会增加代码行数,并保证线程安全呢?
构建器模式登场,先看代码:
public class A {
private int a;
private int b;
private int c;
public static class Builder {
private int a;
private int b;
private int c;
public Builder(){}
public Builder seta(int a) { this.a = a; return this}
public Builder setb(int b) { this