设计模式之Builder模式详解(2)

public class Main {
    public static void main(String[] args) {
        //通过build创建了User2对象,之后通过setXXX方法可灵活初始化属性,最后build返回对象
        User2 user = new User2.Builder().setId(1).setName("Lijian").setAge(22).build();
        //情况1:id、姓名
        User2 user2 = new User2.Builder().setId(2).setName("Zhangsan").build();
        //情况2:id、姓名、年轻、地址
        User2 user3 = new User2.Builder().setId(2).setName("Lisi").build();
        //情况3:id与age很明显能区分
        User2 user4 = new User2.Builder().setId(23).setAge(23).build();
    }
}

通过setXXX()方法灵活选择参数,最后build()方法“闭合”返回对象。很适用于复杂对象的创建,此处让我想起Java8新特性中的Stream API的一个特点:懒加载。是的,有点“懒加载”的味道,不需要立马指定属性,也不会立马生效,之后最后的操作build()才会生效!

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/96cd3d53132a40f9bb25b2a531adff8d.html