/**
* Created by chengkang
* 2018/9/19 下午4:03
*/
public class User {
private final String name;//required
private final int year;//optional
private final int sexNum;//optional
private final String job;//optional
public static class Builder{
private final String name;//required
private int year = 0;//optional
private int sexNum = 0;//optional
private String job = "";//optional
public Builder(String name){
this.name = name;
}
public Builder year(int val){
year = val;
return this;
}
public Builder sexNum(int val){
sexNum = val;
return this;
}
public Builder job(String val){
job = val;
return this;
}
public User build(){
return new User(this);
}
}
private User(Builder builder){
name = builder.name;
year = builder.year;
job = builder.job;
sexNum = builder.sexNum;
}
public static void main(String[] args) {
User user = new Builder("ck").year(24).sexNum(1).job("IT").build();
System.out.println(user.name);
System.out.println(user.year);
System.out.println(user.sexNum);
System.out.println(user.job);
}
}
遇到多个构造器参数时要考虑用构建器
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 静态工厂和构造器有一个共同的局限性:它们都不能很好地扩展到大量的可选参数。如果一个构造器的参数有10,11,12,...
- 静态工厂方法和构造器的共同缺点或者局限性就是:对于存在大量可选参数的类中,其扩展性都不是很好。构建器(Builde...
- 当一个类中的部分参数可选,部分参数必填的时候,我们会如何写这个类呢 使用构建器 构造器调用会使用很多我们根本不会用...
- 方法一是采用重叠构造器模式,缺点很明显,当参数很多时,需要的构造器要非常多,而且代码不易阅读。 方法二是采用Jav...