目录 继承关系 Iterable Collection List AbstractCollection AbstractList RandomAccess Serializable Cloneable Itr ListItr SubList ArrayListSpliterator ArrayList分析 ArrayList数组扩容: ArrayList数组缩容: 数组遍历: "Fail-Fast"机制 集合区段操作 集合分隔操作 最近翻看ArrayList的源码,对ArrayList…
1.java与C++的不同点在于多继承. Java:不能多继承,只能单继承,但可以实现多个接口 C++:可以实现多继承.例如: class A extends B implements C,D,E {} 2.如若写成 interface A extends B,C,D 可以编译通过,这样是不是违背了JAVA的单继承特性呢? (1)接口可以继承多个接口是因为接口里面的定义的方法都是未实现的,不会增加复杂性. (2)接口不是类,而是对类的一组需求的描述.接口绝不能含有实例域,也不能在接口中实现方法.…
转自:http://blog.sina.com.cn/s/blog_7afd7d7801016t3t.html Object-C支持多继承吗?可以实现多个接口吗?Category是什么?重写一个类的方式是继承好还是分类好?为什么? Object-C不支持多继承.我们可以通过ios中无处不在的@protocol委托方式来实现.协议是多个类共享的一个方法列表,在协议中所列出的方法没有响应的实现,由其它人来实现. @protocol MyDelegate-(void)buyIphone:(NSStri…
特性 java是单继承的,一个类直接继承的父类只能有唯一的一个 java中父类可以有多个子类 Object是所有类的父类,一个类没有父类则默认继承Object; 继承中的重写 子类重写方法访问权限不能比父类低 私有(private)方法不能被重写 可以使用@Override 检测方法的重写是否正确 子类返回值必须小于等于父类的返回值 继承中构造方法 子类中所有的构造方法都会默认访问父类中的无参构造方法 子类会继承父类中的数据,可能会使用父类的数据.所以子类初始化之前,一定会先完成父类数据的初始化…
可以继承其他类或实现其他接口,在 Swing 编程和 Android 开发中常用此方式来 实现事件监听和回调.…
两种排序方式: 1.实体类实现Comparable接口,重写compareTo(T o)方法,在其中定义排序规则,那么就可以直接调用Collections.sort()来排序对象数组 2.在调用方法的类中实现comparable接口,重写compare方法 具体可见https://blog.csdn.net/tc_to_top/article/details/52525771…
前两天在学spring boot的时候,出现了一个很奇怪的错误,因为是第一次使用spring boot,所以没想到会遇到这种莫名其妙的bug,即调用接口删除数据库中一条记录的时候,数据库中记录事实上以及被删除了,但是却返回一个null,这就令我百思不得其解了,理论上,删除的话,会返回受影响的记录的条数. 最后排查了一圈,结果却十分令我大跌眼镜,真的很简单!下面写的代码: controller类,这里由于后来数据库sql改了,为了测试like的搜索功能,所以前面的index方法参数并未进行及时修改…
更好阅读体验:Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口 问题 Java集合源码为什么设计为:「实现类继承了抽象类,同时实现抽象类实现的接口?」 看着List 集合的UML图来分析 如图:接口+抽象类都是成对出现,Collection 和 AbstractCollection:List 和 AbstractList.ArrayList 继承了AbstractList,同时实现了List 接口. 再看下其他集合的UML 图,看看是不是也是这样设计的 这样设计的意义 有的…
Java集合框架 1:集合接口 1.1:Collection接口 Collection接口是构造集合框架的基础.它声明所有类集合都将拥有的核心方法 Boolean add(Object obj) 将obj加入到调用类集合中,加入返回true 否则 返回 false Boolean addAll(Collection c) 将c中所有元素都加入到类集合中,都加入返回true否则 false Void clean() 从调用类集合中删除所有元素 Boolean contains(Object obj…