Java
文章平均质量分 92
Iceberry
少晒太阳,如鱼得水
展开
-
Effective Java Note(对于所有对象都通用的方法)
对于所有对象都通用的方法1. 覆盖equals时的通用约定equals所期望的结果类的每个实例本质上都是唯一的。不关心类是否提供了“逻辑相等”的测试功能。超类已经覆盖了equals,从超类继承过来的行为对于子类也是合适的。类时私有的或者包私有的,可以确定它的equals方法永远不会调用。需要覆盖的时机:父类没有实现所期望的以上的equals实现 “最多只存在一个对象”的类不需要覆盖eq原创 2016-12-03 13:54:07 · 322 阅读 · 0 评论 -
Effective Java Note (对象的创建和销毁)
Effect Java Note (一)一、对象的创建和销毁1. 考虑使用静态工厂方法替代构造器优点静态工厂方法可以有一个名称,易于理解与阅读,工厂方法的名称可以凸显出不同构造器的区别每次掉用的时候可以不用都创建一个新的对象,而是可以选择复用对象,在一些情况就可以直接使用==判断相等,而不是equals可以返回原返回类型的任意子类型。可以参考java的集合框架。使用接口来引用被返回的对象,而不原创 2016-11-26 21:41:11 · 217 阅读 · 0 评论 -
Effective-Java-Note-类和接口
类和接口一、使类和成员的可访问性最小化首先我们要了解一个 软件设计基本原则:封装模块隐藏所有的实现细节,只通过API进行模块间通信为什么要这样设计呢?有效的接触系统模块之间的耦合:各模块独立开发,测试,优化,使用,理解,修改。提高软件的重用性:因为模块基本只依赖所使用的环境降低了构建大型系统的风险:即使整个系统不可用,但是有些独立的模块仍可用接下来我们得先了解一下Java提供的访问控制机制:原创 2016-12-11 21:36:25 · 388 阅读 · 0 评论 -
ArrayList 源码分析
List**List是一个维持内部元素有序的采集器,其中的每个元素都会拥有一个索引,每个元素都可以 通过他的索引获取到元素,并且索引的开始下标是从0开始的,List中的元素还可重复。 而Set中不不含重复元素的。**以上便List的定义。实际中List仅是一个接口,并没有具体的方法实现,只是定义好了统一的方法。以下便是List的继承结构:Iterable CollectionList 我原创 2016-11-26 21:51:20 · 177 阅读 · 0 评论 -
LinkedList 源码分析
LinkedListLinkedList是List接口的一个实现类,内部是基于一个双向链表实现的。支持添加,移除,替换三种操作。 同时,LinkedList中的元素可以是任意类型的,包括null。当需要队列一样的数据操作的时候使用LinkedList是很有用的。先来看看LinkedList的继承结构: AbstractCollection AbstractList Abst原创 2016-11-26 21:52:05 · 241 阅读 · 0 评论