![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Effective Java
进击的搬砖工
这个作者很懒,什么都没留下…
展开
-
创建和销毁对象
本系列博客皆为读书笔记。读者可看原书 :D 本篇的主题是[color=red][b]创建和销毁对象[/b][/color]。第一条:考虑用[b]静态工厂方法[/b]代替构造器为了获取类的一个实例,最常用的方法就是提供一个公有的构造器,但类也可以提供一个公有的静态工厂方法。(这里的静态工厂方法与设计模式中的工厂方法模式不同)静态工厂方法与构造器相比有下面几个优势:1.静态...原创 2014-11-18 00:11:48 · 93 阅读 · 0 评论 -
对于所有对象都通用的方法
尽管Object是一个具体类,但设计它主要是为了扩展。它所有的非final方法都有明确的通用规定。任何一个类,在覆盖这些方法的时候,都有责任去遵守这些通用规定,如果不能做到这一点,其他依赖于这些规定的类就无法结合该类一起正常运作。第八条:[b]覆盖equals[/b]时请遵守通用规定如果类具有自己特有的逻辑相等概念(不同于对象等同的概念),而且超类还没有覆盖equals以实现期望的行为...2014-11-19 14:18:35 · 108 阅读 · 0 评论 -
类和接口
本章阐述的一些原则,将使你设计出更加有用、健壮和灵活的类和接口。第十三条:使类和成员的[b]可访问性最小化[/b]区别设计的模块是否良好,关键在于这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节。设计良好的模块会把自己的API和具体实现隔离开,只通过API和外部通信,这个概念成为信息隐藏或封装。之所以信息隐藏这么重要,是基于这样一个事实:它可以有效解除各模块之间的耦...原创 2014-11-20 21:42:07 · 72 阅读 · 0 评论 -
通用程序设计
本章主要讨论java语言的具体细节,包括局部变量的处理,控制结构,类库和各种数据类型等。第四十五条:将局部变量的作用域最小化这和使类和成员的可访问性最小化本质差不多,必要性不用多说。要使局部变量作用域最小化,最有力的方法就是在第一次使用它的时候声明。几乎每个局部变量的声明都应该包含一个初始化表达式。如果你还没有足够的信息对一个变量进行有意义的初始化,就应该推迟这个声明,直到可以初始化。...原创 2014-11-24 13:20:15 · 107 阅读 · 0 评论 -
(反)序列化
本章关注对象序列化API,它提供了一个框架,用来将对象编码成字节流,并从字节流中重新构建对象。“将对象编码成字节流”被称作对象序列化,相反的处理过程被称作反序列化。序列化技术为远程通信提供了标准的线路级对象表示法,也为JavaBeans组件结构提供了标准的持久化数据格式。 第七十四条:谨慎地实现Serializable接口实现Serializable接口而付出的最大代价是,一旦一个...原创 2014-11-24 23:07:06 · 80 阅读 · 0 评论