今天看netty权威指南,第一次听说构建器,百度了几个博客,但是并没有通俗易懂一点儿的,综合别人的博客,总结如下:
1. 构建器是什么?
当创建对象需要传入多个参数的时候我们通常会根据参数的数量写不同的构造器,具体如下
public A(int a){}
public A(int a, int b){}
public A(int a, int b, int c){}
根据不同的参数调用不同的构造器,但是当参数多了的时候,这种方式不够灵活,所以会实现动态传参的方法
public A(){}
public void seta(int a){}
public void setb(int b){}
public void setc(int c){}
这种方式提高了传参的可读性,也提高了传参的灵活性,但是会增加代码行数,同时在多线程异步执行的时候导致奇怪的错误。
有没有办法解决呢?既能提高代码可读性,提高参数灵活性,又不会增加代码行数,并保证线程安全呢?
构建器模式登场,先看代码。
这里我们写一个 Person 类,并为这个类加上构建器:
public class Person {
private final String name;
private final int age;
private final String address;
private final String phone;
public static class Builder{

本文介绍了Java中的构建器模式,对比了多种创建对象的方法,包括重叠构造器、JavaBeans模式。构建器模式在参数多且部分可选的情况下提供更好的可读性和灵活性,同时确保线程安全。文章通过Person类的例子展示了构建器的使用方式。
最低0.47元/天 解锁文章
928

被折叠的 条评论
为什么被折叠?



