builder设计模式

 

复制代码
package builder;

public class Person {
    private Integer id;
    private String name;
    private Integer age;

    private Person () {}

    public static class PersonBuilder {
        Person person = new Person();

        public PersonBuilder id(Integer id) {
            person.id = id;
            return this;
        }

        public PersonBuilder name(String name) {
            person.name = name;
            return this;
        }

        public PersonBuilder age(Integer age) {
            person.age = age;
            return this;
        }

        public Person build() {
            return this.person;
        }
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }


}
复制代码

 

package builder;

public class Main {
    public static void main(String[] args) {
        Person person = new Person.PersonBuilder().id(1).name("小明").age(10).build();
    }
}

 

posted @   Peter.Jones  阅读(87)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2018-09-24 java之io流语法
2018-09-24 java类成员执行顺序
2018-09-24 JDK1.7输入输出流写法
点击右上角即可分享
微信分享提示