从头认识java-1.7 单根继承与集合
2015-10-20 10:07
375 查看
这一章节我们来简单介绍一下单根继承与容器。
1.单根继承
概念:
单根继承,意味着所有类的继承,都继承自单一的基类的继承模式
优点:
(1)所有对象都具有一个共用接口,归根到底都是相同的基本类型。
其实,当我们建立一个新的类时,它是默认继承Object这个根类的,因此我们在建立一个新类的时候,也可以写成上面的样子。我们下面来测试一下
输出:
true
(2)单根继承结构保证所有对象都具备某些功能。
从上图可以看见,jack对象是具备Object里面所有的方法。
(3)单根继承结构使垃圾回收器的实现变得容易得多。
由于是单根继承,因此在计算对象的使用情况的算法变得容易了很多。
2.集合
(1)为什么需要集合?
因为在平常编程的过程中,无法预计需要存储多少个对象,如果使用单纯的数组,无法满足此类需求,因此出现了可以自扩容的集合。
(2)种类
存储序列List、关联数组Map、单一存储Set等
(3)选择
由于不同集合他们满足的是不同需求,必须根据业务来进行选择。例如:
当你大部分情况只是需要读取,那么选择Arraylist比较合适,它的特点是读取容易,插入难
当你大部分情况是插入数据时,那么应该选择LinkedList,它适合随机存储,但是随机读取性能低下
2.1.泛型
由于集合只是存储Object,对于业务场景里面常常发生的向下转型,这里可能会出现各种问题和异常,因此java引入泛型概念,控制每一个集合只是放特定的对象。
总结:这一章节简单的介绍了单根继承和集合,集合和泛型在后面的章节会详细展开。
这一章节就到这里,谢谢。
-----------------------------------
目录
1.单根继承
概念:
单根继承,意味着所有类的继承,都继承自单一的基类的继承模式
优点:
(1)所有对象都具有一个共用接口,归根到底都是相同的基本类型。
package com.ray.ch01; public class Jack extends Object { }
其实,当我们建立一个新的类时,它是默认继承Object这个根类的,因此我们在建立一个新类的时候,也可以写成上面的样子。我们下面来测试一下
package com.ray.ch01; public class Jack { public static void main(String[] args) { Jack jack = new Jack(); System.out.println(jack instanceof Object); } }
输出:
true
(2)单根继承结构保证所有对象都具备某些功能。
从上图可以看见,jack对象是具备Object里面所有的方法。
(3)单根继承结构使垃圾回收器的实现变得容易得多。
由于是单根继承,因此在计算对象的使用情况的算法变得容易了很多。
2.集合
(1)为什么需要集合?
因为在平常编程的过程中,无法预计需要存储多少个对象,如果使用单纯的数组,无法满足此类需求,因此出现了可以自扩容的集合。
(2)种类
存储序列List、关联数组Map、单一存储Set等
(3)选择
由于不同集合他们满足的是不同需求,必须根据业务来进行选择。例如:
当你大部分情况只是需要读取,那么选择Arraylist比较合适,它的特点是读取容易,插入难
当你大部分情况是插入数据时,那么应该选择LinkedList,它适合随机存储,但是随机读取性能低下
2.1.泛型
由于集合只是存储Object,对于业务场景里面常常发生的向下转型,这里可能会出现各种问题和异常,因此java引入泛型概念,控制每一个集合只是放特定的对象。
总结:这一章节简单的介绍了单根继承和集合,集合和泛型在后面的章节会详细展开。
这一章节就到这里,谢谢。
-----------------------------------
目录
相关文章推荐
- java.sql.SQLException: ORA-28001: 口令已经失效
- Spring在配置Shiro 关于AOP的部分记录
- java RC4加密解密
- Junit 测试 Spring
- JAVA方法 字符串与unicode的相互转换
- Java之Timer用法
- Java中的一些String用法
- Genymotion 插件在 Eclipse 和 Android Studio 中点击后无法初始化 Initialize Engine: failed 解决方法
- 关于javax.servlet不存在的问题
- POJO和javabean的异同
- java调用C#的dll
- eclipse使用egit插件上传代码
- eclipse中集成百度地图的项目导入Android studio加入so文件的问题
- RxJava 文档翻译
- java 获取上一周周一到周日的日期
- JAVA - IO流 - 整理
- Eclipse一飘而过的解决办法
- JAVA-反射-getGenericSuperclass()介绍
- Spring集成Quartz定时任务 ---- 定时执行
- 【转】java垃圾回收制度