使用构造器模式使得类构造器可以伸缩。
package com;
/**
* Created by Administrator on 2018/9/10/010.
*/
public class App {
private final String name;
private final String id;
private String lelngth;
private String language;
public App(Build build) {
this.name = build.name;
this.id = build.id;
this.language = build.language;
this.lelngth = build.length;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
public String getLelngth() {
return lelngth;
}
public void setLelngth(String lelngth) {
this.lelngth = lelngth;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public static class Build {
private final String name;
private final String id;
private String length;
private String language;
public Build(String name, String id) {
if ("".equals(name)) {
throw new IllegalArgumentException("参数错误");
}
this.name = name;
this.id = id;
}
public Build withLength(String length) {
this.length = length;
return this;
}
public Build withLanguage(String language) {
this.language = language;
return this;
}
public App build() {
return new App(this);
}
}
public static void main(String[] args) {
try {
App app = new App.Build("", "1").withLanguage("chinaese").build();
System.out.println(app.getLanguage());
}catch(Exception e){
//
//e.printStackTrace(); logger
System.out.println(e.getMessage());
}
}
}