Java Builder
‘Java Builder’ https://juejin.im/entry/5b83fe1851882542e16bfcf6 Java 中的 Builder 模式和协变返回类型 阅读 735 收藏 45 2018-08-27 原文链接: www.codebelief.com 阅读这篇文章大约需要五到十分钟时间。 Builder 模式是一种创建型的设计模式,即解决对象的创建问题。 在 Java、C++ 这类语言中,如果一个类在创建时存在可选参数,那么可以通过函数重载来实现,但是如果可选参数非常多的话,构造函数的数量也会变得非常多,并且可能因为不同可选参数类型相同而没法重载,我们接下来通过例子来说明。 一、可选参数带来的问题 不可重载的情况 //学号、姓名是必须参数,身高、体重可选 public Student(int id, String name) {} public Student(int id, String name, float height, float weight) {} public Student(int id, String name, float height) {} //只填身高 public Student(int id, String name, float weight) {} //只填体重 (签名重复,无法重载) 虽然最后两个构造方法参数名不同,但是它们类型相同,方法签名也就相同,因此没办法重载,只能保留一个。 构造方法数量过多 接着考虑这么一个场景,你正在设计一个 Person 类,这个类存放了 name、age、sex 等信息,其中 name 是必要信息,而 age 和 sex 是可选信息,那么你可能会编写如下的构造方法: ...