JAVA学习之Builder模式
来源:互联网 发布:算法公倍数怎么求 编辑:程序博客网 时间:2024/05/29 11:19
Builder模式原理,通过静态内部类来构建目标类
好处:
1.需要什么属性就填写什么属性,不需要为不同的实例来构建不同的构造函数
2.链式写法
package com.free.framwork.jdk8.builder;import java.util.Date;/** * com.free.framwork.jdk8.builder.Student * Builder模式 * @author lipeng * @dateTime 2017/8/26 12:17 */public class Student { private Integer id; private String name; private Integer age; private Date birthday; private Student(Builder builder) { this.id = builder.id; this.name = builder.name; this.age = builder.age; this.birthday = builder.birthday; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", birthday=" + birthday + '}'; } public static class Builder{ private Integer id; private String name; private Integer age; private Date birthday; // 构建Builder对象 public static Builder builder() { return new Builder(); } public Builder id(Integer id){ this.id = id; return this; } public Builder name(String name){ this.name = name; return this; } public Builder age(Integer age){ this.age = age; return this; } public Builder birthday(Date birthday){ this.birthday = birthday; return this; } // 通过Builder对象来构建Student对象 public Student build(){ return new Student(this); } }}
package com.free.framwork.jdk8.builder;import java.util.Date;/** * com.free.framwork.jdk8.builder.TestBuilder * * @author lipeng * @dateTime 2017/8/26 12:25 */public class TestBuilder { public static void main(String[] args) { Student student = Student.Builder.builder() .id(10001) .name("测试") .age(22) .birthday(new Date()) .build(); Student student1 = Student.Builder.builder() .id(10002) .name("测试1") .age(22) .birthday(new Date()) .build(); System.out.println(student); System.out.println("======================"); System.out.println(student1); }}
阅读全文
0 0
- JAVA学习之Builder模式
- Java 之 Builder模式使用
- effective java之 builder模式
- Java:设计模式之Builder
- Java构造之builder模式
- Android设计模式学习之Builder模式
- 设计模式之Builder模式学习
- 设计模式学习之Builder模式
- Android 设计模式学习之 Builder 模式
- java设计模式 之生成器模式 Builder
- java设计模式之builder生成器模式
- java设计模式之Builder模式
- java设计模式之Builder模式
- java设计模式之builder模式
- Java设计模式之Builder模式
- Java设计模式之Builder模式
- JAVA设计模式之Builder模式
- 7种创建型模式 之6 BUILDER 建造模式 《Java与模式》学习笔记
- java优质博客
- 安卓开发传递对象:当Parcelable序列化对象用Intent传递发生闪屏或者值不对应时
- 数学之美--信息的度量和作用--信息熵,条件熵和交叉熵
- 【Tomcat】一分钟教你eclipse如何配置tomcat(二)
- Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
- JAVA学习之Builder模式
- Linux设置主机名和配置主机名跟IP地址映射
- 数学之美--隐含马尔科夫模型
- C++输入cout与输出cin(详细用法)
- 字节流文件复制
- C++如何实现伪反射!
- LintCode:M-背包问题 II
- Python学习笔记(七)-- Python元组
- [Note]位置属性