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