若是一个类的属性过多,用构造器来构建对象很难写,所以咱们时用Build方式来构建对象。写法大体以下。java
import java.io.Serializable; import java.util.Date; public class Log implements Serializable { private static final long serialVersionUID = 3355538580546591073L; private Long id; private String username; /** 模块 */ private String module; /** 参数值 */ private String params; private String remark; private Boolean flag; private Date createTime; public Log(Builder builder) { this.id = builder.id; this.username = builder.username; this.module = builder.module; this.params = builder.params; this.remark = builder.remark; this.flag = builder.flag; this.createTime = builder.createTime; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getModule() { return module; } public void setModule(String module) { this.module = module; } public String getParams() { return params; } public void setParams(String params) { this.params = params; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public Boolean getFlag() { return flag; } public void setFlag(Boolean flag) { this.flag = flag; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public static class Builder { private static Long id; private static String username; /** 模块 */ private static String module; /** 参数值 */ private static String params; private static String remark; private static Boolean flag; private static Date createTime; public Builder() { } public Builder id(Long id) { this.id = id; return this; } public Builder username(String username) { this.username = username; return this; } public Builder module(String module) { this.module = module; return this; } public Builder params(String params) { this.params = params; return this; } public Builder remark(String remark) { this.remark = remark; return this; } public Builder flag(Boolean flag) { this.flag = flag; return this; } public Builder createTime(Date createTime) { this.createTime = createTime; return this; } public Log build() { return new Log(this); } } }
调用方法:ui
Log log =new Log.Builder().username(username).module(LogModule.LOGIN).remark(remark).createTime(new Date()) .build();
这样咱们就能够时用咱们有须要的属性赋值,而且进行构建对象。this