当前位置: 首页> 教育> 培训 > 网站建设规划书目录_在线设计logo商标免费无水印_短期培训班学什么好_chatgpt 网址

网站建设规划书目录_在线设计logo商标免费无水印_短期培训班学什么好_chatgpt 网址

时间:2025/7/19 14:47:02来源:https://blog.csdn.net/m0_45164511/article/details/142830431 浏览次数:2次
网站建设规划书目录_在线设计logo商标免费无水印_短期培训班学什么好_chatgpt 网址

1.概念

建造者模式(builder模式,属于创建型模式):通过将复杂对象的构建过程分解为多个步骤,使得对象的构建更加灵活和可控。

它适用于构建复杂对象,特别是当对象的构建过程涉及多个可选部分

2.Demo

1.创建一个匿名内部类Builder,其属性与外部类的属性相同;

2.将外部类的构造方法私有化(private),使用内部类填充属性;

3.在外部类创建builder()方法;

4.在内部类创建builder()方法。

public class Student{private int id;private String name;private int age;// 1 构建匿名内部类, 属性与Student类属性一致public static class Builder {private int id;private String name;private int age;public Builder id(int id) {this.id = id;return this;}public Builder name(String name) {this.name = name;return this;}public Builder age(int age) {this.age = age;return this;}// 4 最终构建返回public Student build() {return new Student(this);}}// 2 创建静态builder方法,返回Builder类进行构造public static Builder builder() {return new Builder();}// 3 构造私有构造方法,将Builder中的属性进行赋值private Student(Builder builder) {this.id = builder.id;this.name = builder.name;this.age = builder.age;}@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", age=" + age +'}';}
}

测试类:

public class Main {public static void main(String[] args) {Student student = Student.builder().id(1).age(12).name("李三").build();System.out.println(student);}
}

结果输出:

关键字:网站建设规划书目录_在线设计logo商标免费无水印_短期培训班学什么好_chatgpt 网址

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: