对生成对象进行链式配置
好处:按需配置对象,灵活修改默认配置,比构造方法创建对象更直观。
public static void init() {
if (okHttpClient == null) {
OkHttpClient.Builder builder = new OkHttpClient.Builder()
.connectTimeout(5000, TimeUnit.MILLISECONDS)
.connectTimeout(5000, TimeUnit.MILLISECONDS)
.writeTimeout(5000, TimeUnit.MILLISECONDS);
okHttpClient = builder.build();
}
}
1.创建目标对象Course
2.创建目标对象的【建造者】内部类
3.内部类拥有Course的同名成员变量,并提供build()方法返回Course对象,这里直接使用构造方法构造。
// 内部类处理应用层传入的参数
public static class CourseBuilder{
private String courseName;
private String coursePPT;
// build()返回Course,用作链式调用的最后一步
public Course build() {
// 需要建立一个参数为CourseBudiler的构造方法
return new Course(this);
}
//
public CourseBuilder buildCourseName(String courseName) {
this.courseName = courseName;
return this;
}
public CourseBuilder buildCoursePPT(String coursePPT) {
this.coursePPT = coursePPT;
return this;
}
}
// 应用层.build()后调用该构造方法
public Course(CourseBuilder courseBuilder) {
this.courseName = courseBuilder.courseName;
this.coursePPT = courseBuilder.coursePPT;
}
---------------------
作者:Ch.yang
来源:CSDN
原文:https://blog.csdn.net/chenghan_yang/article/details/90411573
版权声明:本文为博主原创文章,转载请附上博文链接!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |