java Builder模式创建不可变类

2023-04-25,,

package com.geostar.gfstack.operationcenter.logger.manager.common;

/**
* Created by Nihaorz on 2017/8/14.
*/
public class DBConfig { private String driver;
private String url;
private String username;
private String password; public static class Builder { private String driver;
private String url;
private String username;
private String password; public Builder(){
super();
} public Builder driver(String driver) {
this.driver = driver;
return this;
} public Builder url(String url) {
this.url = url;
return this;
} public Builder username(String username) {
this.username = username;
return this;
} public Builder password(String password) {
this.password = password;
return this;
} public DBConfig build(){
return new DBConfig(this);
} } private DBConfig(Builder builder) {
driver = builder.driver;
url = builder.url;
username = builder.username;
password = builder.password;
} public String getDriver() {
return driver;
} public String getUrl() {
return url;
} public String getUsername() {
return username;
} public String getPassword() {
return password;
} @Override
public String toString() {
return "DBConfig{" +
"driver='" + driver + '\'' +
", url='" + url + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}

  

DBConfig类只有一个私有构造函数,没有setter方法

java Builder模式创建可变类的相关教程结束。

《java Builder模式创建不可变类.doc》

下载本文的Word格式文档,以方便收藏与打印。