遇到多个构造器参数时要考虑用构建器。
package Builder;
public class Student {
private final String name;
private final int id;
private final String sex;
private final String birth;
private final String home;
public static class Builder{
private String name;
private int id;
private String sex;
private String birth;
private String home;
public Builder setName(String name){
this.name = name;
return this;
}
public Builder setId(int id) {
this.id = id;
return this;
}
public Builder setSex(String sex) {
this.sex = sex;
return this;
}
public Builder setBirth(String birth) {
this.birth = birth;
return this;
}
public Builder setHome(String home) {
this.home = home;
return this;
}
public Student builder(){
return new Student(this);
}
}
private Student(Builder builder){
this.name = builder.name;
this.sex = builder.sex;
this.id = builder.id;
this.birth = builder.birth;
this.home = builder.home;
}
public String toString(){
return this.name + "'s sex is " + this.sex + "," + this.id + "," + this.home;
}
public static void main(String[] args){
Student s = new Student.Builder().setName("zoe").setSex("Female").setId(1016).setHome("No").builder();
System.out.println(s);
}
}
分享到:
相关推荐
### 第二章 创建和销毁对象 这一章深入探讨了对象的生命周期管理,包括: 1. **静态工厂方法**:相比构造器,静态工厂方法有优点如可以不返回新实例、允许返回同一实例(单例)、可以有更具选择性的访问控制,并且...
"Effective Java读书笔记" Effective Java是一本关于Java编程语言的经典书籍,本笔记主要总结了Java语言的发展历程、静态工厂方法的应用、构造器模式的使用等重要知识点。 一、Java语言的发展历程 Java语言的发展...
标题“effective-java.pdf”与描述“effective-java.pdf”表明本文档是关于Java编程实践的指南,且内容可能来自于一本名为《Effective Java》的书籍,该书是由Joshua Bloch编写,被广泛认为是Java编程的权威指南。...
《Effective Enterprise Java》是Java开发领域的一本经典著作,由著名技术专家Bill Venners编著,被广大Java开发者誉为“四大名著”之一。这本书深入探讨了在企业级Java开发中如何写出高效、可维护和易于理解的代码...
1. **第2章 创建和销毁对象** - 单例模式:讲解了如何正确实现单例类,避免多线程环境下的并发问题。 - 构造函数:强调构造函数应简洁,避免在构造过程中执行复杂操作。 - 工厂方法:介绍工厂方法模式,作为创建...
《Effective Java》是Java开发领域的经典著作,由Joshua Bloch撰写,中文版第二版更是深受广大Java开发者喜爱。这本书提供了许多实用的编程实践和经验教训,帮助开发者编写出更高效、可维护的Java代码。这里我们将...
Item 85: Prefer alternatives to Java serialization Item 86: Implement Serializable with great caution Item 87: Consider using a custom serialized form Item 88: Write readObject methods defensively ...
Joshua Bloch 所著《Effective Java 第二版》一书摘要这是我对 Joshua Bloch 所著《Effective Java 第 2 版》的总结。我在学习时会用到它,也可以作为快速参考。它并不是这本书的独立替代品,所以如果你真的想学习...
[Addison-Wesley] Effective Java 第2版 (英文版) [Addison-Wesley] Effective Java 2nd Edition (E-Book) ☆ 出版信息:☆ [作者信息] Joshua Bloch [出版机构] Addison-Wesley [出版日期] 2008年05月28日 ...
Joshua Bloch 所著《Effective Java 第二版》一书的源代码有效的 Java 示例这是 Joshua Bloch 编写的《Effective Java 第二版》一书的来源。除包名称外,其他均未修改。原始源代码可从...
《Effective Java》是Java编程领域的一本经典著作,由Joshua Bloch撰写,现在已经更新到第三版。这本书深入探讨了如何编写高效、可维护且设计良好的Java代码,是每一个Java开发者提升技能的重要参考资料。以下是对该...
以上只是《Effective Java》第二版部分关键知识点的概述,实际上,书籍中还包含更多关于类设计、方法设计、多线程、集合框架等方面的深入讨论和建议,是每个Java开发者不可或缺的参考书。通过阅读并实践书中的建议,...
读书笔记:Effective Java中文版 第2版
读书笔记:Effective Java中文版第二版示例代码