创建和销毁对象
静态工厂的好处
1.静态工厂方法有名字,确切得描述被返回对象。
2.与构造方法不同,他们被调用时,不必每次都创建一个新的对象。
3.它们可以返回一个原返回类型(已声明)的子类型对象。
4.
类和接口
(R12)1.使类和成员的可访问能力最小化。information hiding---encapsulating.
通过access control
2.包含公有可变域的类不是线程安全的。通过公有的static final来暴露类的常量,它要么包括原语类型的值,要么包含不变对象的引用。具有公有的静态final数组域几乎都是错误的。
private static final String[] private_values = {...};
public static final List Values = Collections.unmodifibleList(Arrays.asList(private_values));
(R13)支持非可变性
1.final 类举例:String,原语类型包装类,BigInteger,BigDecimal。
成为非可变类的五个规则:
a.不要提供任何回修改对象的方法
b.保证没有可被子类改写的方法。
使一个非可变类成为final类。
class--加final
让这个类的所有方法成为final
构造函数私有,提供静态工厂方法代替构造函数。
c.所有的域都是final的。
d.所有的域都是私有的。
e.保证对于任何可变组件都是互斥访问。
2.非可变对象本质上是线程安全的,它们不要求同步。
公有的可变配套类 String-->StringBuffer.
(R14)
分享到:
相关推荐
"Effective Java读书笔记" Effective Java是一本关于Java编程语言的经典书籍,本笔记主要总结了Java语言的发展历程、静态工厂方法的应用、构造器模式的使用等重要知识点。 一、Java语言的发展历程 Java语言的发展...
《Effective Java》是Java开发领域的经典著作,作者Joshua Bloch深入浅出地阐述了编写高效、健壮的Java代码的技巧和最佳实践。以下是对该书部分内容的详细解释: 1. **产生和销毁对象** - Item1:静态工厂方法相比...
读书笔记:读Effective Java中文版第3版阅读源码测试案列
读书笔记:Effective Java中文版第3版笔记
Effective Java 读书笔记 - 枚举与注解 本文总结了Effective Java 中关于枚举与注解的知识点,涵盖了枚举类型的优点、使用指南、避免使用 int 常量、使用 EnumSet 和 EnumMap 等。 枚举类型的优点 枚举类型提供了...
以下是对《Effective Java》笔记中可能涉及的关键知识点的详细解读: 1. **单例模式**:书中强调了如何正确实现单例模式,推荐使用`enum`来创建线程安全且唯一的实例,避免传统双重检查锁定的潜在问题。 2. **构造...
《Effective Java》是Java...以上仅是《Effective Java》一书中部分核心知识点的概述,实际的读书笔记中会更详细地解释这些概念,并给出具体的示例代码。通过深入学习和实践,开发者可以极大地提升其Java编程的水平。
读书笔记:Effective Java中文版学习项目
读书笔记:Effective Java中文版第二版示例、笔记
读书笔记:Effective Java中文版 第2版
读书笔记:Java练习包括《Java编程思想》《算法》《Effective Java》等
读书笔记:Effective Java中文版第二版示例代码
读书笔记:Effective Java 中文版(2版和3版)
读书笔记:Effective Java 中文版(第2版)总结 (美)Joshua Bloch 著
读书笔记:Effective.Java中文版(第3版)
### Effective Java读书笔记(上) #### 第一章 引言 本书主要针对Java开发者提供了大量实用的编程指导建议,帮助读者提升代码质量和程序性能。在本章节中,我们将重点介绍对象的创建与销毁,以及一些重要的设计...
### Effective Java - 创建和销毁对象 #### 第一条:用静态工厂方法代替构造器 **优点:** 1. **命名清晰,易于使用:** 静态工厂方法通过明确的命名方式,使得用户更容易理解方法的功能及其预期结果。例如,`...
《Effective Java》是一本经典Java编程指南,作者是Joshua Bloch,这本书深入探讨了如何编写高质量、高效、可维护的Java代码。以下是对压缩包中各章节主要知识点的详细阐述: 1. **第2章 创建和销毁对象** - 单例...
除了课程内容,阅读官方文档、经典教材如《Head First Java》、《Effective Java》等,以及观看开源项目和在线教程,可以帮助巩固理论知识,提升实践能力。 总之,Java学习笔记旨在为初学者提供全面的学习路径,从...
1. **Java简介**:介绍Java的历史、特点、应用领域以及与其它编程语言的对比,使学习者对Java有一个初步认识。 2. **环境配置**:讲解如何安装Java Development Kit (JDK) 和设置环境变量,为后续开发工作奠定基础...