这是一种什么设计模式?

 public static void main(String[] args) {
        Humen humen = Humen.builder().setAge(10).setGender("男")
                .setName("张三").setHeight(180).create();
        System.out.println(humen);
    }

结果为:
Humen [name=张三, age=10, height=180, gender=男]

这里面不断的set是怎么做到的?
为什么要用这种方式?

builder()和所有setxx()方法返回的都是Humen这个类的对象

builder()和所有setxx()方法里最后都 return this,这样做就可以带来你这个例子里的好处,能链式调用,最典型的例子是StringBuffer

Humen.builder() 返回的是humen setxxx 为返回类型都是void 就是没有返回类型

相当于
Humen.builder() .setxxxx();
Humen.builder() .setxxxx();
Humen.builder() .setxxxx();
Humen.builder() .setxxxx();

这是工厂设计模式啊啊!

这是builder模式,此模式的精髓就是按策略分步骤构造复杂对象

这个就是建造者模式,每个方法调用都会返回当前对象this,所以你可以不停调用,其实都是那个对象在调用,然后调用create方法把对象返回