
Effective Java
信念随梦
本博客的主要作为自己的学习笔记,并不是以教授知识为目的。如果有人能从我的博客中学到东西,我很高兴。有人发现文章中有不对的地方,也欢迎大家纠正。
展开
-
《Effective Java》-----创建和销毁对象
何时以及如何创建对象?何时以及如何避免创建对象?如何确保他们能够适时的销毁,以及如何管理对象销毁之前必须进行的各种清理动作?带着问题进入今天的学习一、考虑用静态工厂方法代替构造器此处所提到的静态工厂,并不是设计模式中的静态工厂,其实就是一个静态方法。用来返回类的实例。因此类可以通过静态工厂方法来提供它的客户端,而不是公有的构造器。当然做当然会有很多的优势,下面是Boolean的API源码,原创 2017-11-21 11:09:40 · 313 阅读 · 0 评论 -
《Effective Java》------类和接口(2)
一、接口优于抽象类因为java值允许单继承,所以抽象类最为类型定义受到了极大的限制1.1 使用接口,现有的类可以很容易被更新,以实现新的接口因为类可以实现多个接口,一般来说,无法更新现有的类来扩展新的抽象类。如果你希望让两个类扩展同一个抽象类,就必须把抽象类放在层次的最高处,以便这两个类的一个祖先成为它的子类。这样做会间接地伤害到类层次,迫使这个公共祖先的所有后代类都扩展这个新的抽象类原创 2017-12-20 09:26:29 · 265 阅读 · 0 评论 -
《Effective Java》------对所以对象都通用的方法
尽管Object是一个具体的类,但是设计它主要是为了扩展。它所有的非final方法,equals,hashCode、toString、clone、finlize都有通用的约定一、覆盖equals时请遵循通用约定1.1、自反性对于任何非null的引用值x,x.equals(x)必须返回true1.2、对称性对于任何非null的引用值x,y,当且仅当y.equals(x)返回tru原创 2017-11-25 22:07:05 · 223 阅读 · 0 评论 -
《Effective Java》------类和接口(1)
一、使类和成员的访问性最小设计良好的模块会隐藏所有的实现细节,把它的API与它的实现清晰地隔离开来。然后,模块之间只能通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况。这个概念被称为信息隐藏,是软件的基本原则之一。尽可能地使每个类或者成员不被外界访问对于顶层(非嵌套的)类和接口,只有两种可能的访问级别:包级私有的和公有的。如果类和接口能够被做成包级私有原创 2017-11-28 14:46:23 · 290 阅读 · 0 评论