java中学生对象的构建_用Build来构建对象的写法

如果一个类的属性过多,用构造器来构建对象很难写,因此我们时用Build方式来构建对象。写法大致如下。

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

}

}

}

调用方法:

Log log =new Log.Builder().username(username).module(LogModule.LOGIN).remark(remark).createTime(new Date())

.build();

这样我们就可以时用我们有需要的属性赋值,并且进行构建对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值