小白初學java設計模式 建造器模式
阿新 • • 發佈:2018-12-09
使用構造器模式使得類構造器可以伸縮。
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()); } } }