Builder模式

Builder模式就是不直接生成想要的对象,而是让客户端利用所有必要的参数调用构造器,得到一个builder对象。然后再builder对象上调用类似setter的方法,来设置每个相关的可选参数。
最后,客户端调用无参数的build方法来生成不可变的对象。(此篇文章为自己总结,如有错误欢迎纠正,谢谢。)

例子: 

package com.cn.test;

public class A {

private int a;
private int b; 
private String c;
private String d;

public static class Builder {
private int a ;
private int b;
private String c;
private String d;
              
public Builder(int a,int b){}
       this.a = a;
       this.b = b;
  }
         
public Builder setC(String c) {                   
      this.c = c;        
      return this;
  }
              
public Builder setD(String d) {            
      this.d = d;              
      return this;
  }
              
public A build() {           
      return new A(this);//很关键 只有调用this的构造函数才能赋值
  }
}

public A() {
 }

       
private A(Builder builder) {
      a = builder.a;
      b = builder.b;
      c = builder.c;
      d = builder.d;
  }
}

调用:
A a = new A.Builder(1, 2).setC(“c”).setD(“d”).build();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值