Java 建造模式实例
来源:互联网 发布:诺德软件 编辑:程序博客网 时间:2024/04/25 17:41
一个完整的java 建造模式( builder pattern ) 例子:
//<span style="color: rgb(51, 51, 51); font-family: Consolas, Monaco, 'Andale Mono', monospace; font-size: 16px; line-height: 22.8571px; background-color: rgb(230, 230, 252);">Student.java</span>
package com.mkyong.model;import java.util.List;public class Student { private String name; private int age; private List<String> language; public static class Builder { private String name; private int age; private List<String> language; public Builder name(String name) { this.name = name; return this; } public Builder age(int age) { this.age = age; return this; } public Builder language(List<String> language) { this.language = language; return this; } public Student build() { return new Student(this); } } private Student(Builder builder) { name = builder.name; age = builder.age; language = builder.language; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", language=" + language + '}'; }}利用上面建造模式 创建 Student 对象的例子:
package com.mkyong.model;import java.util.Arrays;public class TestStudent { public static void main(String[] args) { Student s = new Student.Builder().name("mkyong").age(18).language(Arrays.asList("chinese","english")).build();//Student{name='mkyong', age=18, language=[chinese, english]} System.out.println(s); // Classic way to create an object/*Student s = new Student(); s.setName("mkyong"); s.setAge(18); s.setLanguage(Arrays.asList("chinese","english"));*/ }}
References
- Wikipedia – Builder pattern
- Too Many Parameters in Java Methods, Part 3: Builder Pattern
0 0
- Java 建造模式实例
- 实例探索Java模式之路——建造模式
- java建造者模式
- Java建造模式(Builder)
- java 建造者模式
- java 建造者模式
- java 建造者模式
- Java建造者模式
- java建造者模式
- java建造者模式
- JAVA 建造者模式
- java建造者模式
- java建造者模式
- java 建造者模式
- java建造者模式
- Java 建造者模式
- java建造者模式
- JAVA建造者模式
- Android手机开启开发者模式
- 使用springMVC实现文件上传和下载之文件下载
- Carthage使用记录
- mysql中IN,OR,BETWEEN性能比较
- PAT-B 1015. 德才论
- Java 建造模式实例
- Android本地数据的存储和读取(文件格式)
- HDU-4612-Warm up(无向图缩点+直径)
- UVA 11988 Broken Keyboard 链表
- 查看Windows 10系统是否永久激活
- JAVA设计模式(04):创建型-建造模式(Builder)
- 【饥荒mod制作吧第五篇】MOD下载及安装
- Android利用tcpdump和wireshark抓取网络数据包
- Linux下python升级至2.7步骤