java之 单根继承与集合
1.单根继承
概念:
单根继承,意味着所有类的继承,都继承自单一的基类的继承模式
优点:
(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之 单根继承与集合的更多相关文章
- JAVA接口的继承与集合
复习 20190701 接口补充 一. java是单继承多实现 单继承: 一个类只能有一个父类 public class D extends D1 { } 2. 多实现 一个类可以同时实现多个接口 当 ...
- java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类
本文关键词: java集合框架 框架设计理念 容器 继承层级结构 继承图 集合框架中的抽象类 主要的实现类 实现类特性 集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...
- java内部类、接口、集合框架、泛型、工具类、实现类
.t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.内部类 1.成员内部类. (1)成员内部类的实例化: 外部类名.内部类 ...
- JAVA基础第五章-集合框架Map篇
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- java基础(7)集合与泛型
第一部分:Collection集合 1 collection集合概述 集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map. C ...
- java方法的继承,覆盖与重载
java中的继承使用extends关键字,在子类继承了父类之后将会获得父类的全部属性与方法(父类的构造器除外).如果在定义java类时没有显示定义她的父类,那么这个类默认将扩展java.lang.Ob ...
- Java之类的继承
说起来Java的类,不得不说以下几个方面:继承.转型.重写.多态和接口. 今天来说一说继承,转型和重写几个方面: 继承(extends)即子类继承父类,就好比玻璃杯.保温杯等子类继承了杯子这个父类,子 ...
- Java 常用 Collection 继承关系与接口实现
Java Collection List 接口 继承.接口实现关系: public interface List<E> extends Collection<E> 方法定义: ...
- Java学习笔记-基础语法Ⅶ-集合
集合 集合类特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变 这里需要回顾一下,因为数组和字符串一旦创建,就不可改变,需要区分一下 import java.util.ArrayLi ...
随机推荐
- hibernate Day2 案例代码
1.编写实体类Person package com.icss.pojo; public class Person { private int uid; private String uname; pr ...
- [在读]JavaScript异步编程:设计快速响应的网络应用
很棒的一本,就如书名所示,主要讲js异步的一些东西,比如定时器.Jquery的promise和deffered,node...看了一小半.推荐哦~~
- game 竞赛图 缩环
[问题背景] zhx 和他的妹子(们)做游戏. [问题描述] 考虑 N 个人玩一个游戏, 任意两个人之间进行一场游戏 (共 N*(N-)/ 场) , 且每场一定能分出胜负. 现在,你需要在其中找到三个 ...
- 開玩樹莓派(一):安裝Raspbian系統
目錄: 開玩樹莓派(一):安裝Raspbian系統 開玩樹莓派(二):配置IP,實現無顯示器局域網內Putty連接和RDP遠程 開玩樹莓派(三):Python編程 開玩樹莓派(四):GPIO控制和遠程 ...
- MySql数据库的相关操作
SQL(Structred Query Language)结构化查询语言:和数据库交互的语言,进行数据库管理的语言. 一.数据库的操作: 1.查询所有数据库: show databases; 2.创建 ...
- P1809 过河问题_NOI导刊2011提高(01)
题目描述 有一个大晴天,Oliver与同学们一共N人出游,他们走到一条河的东岸边,想要过河到西岸.而东岸边有一条小船. 船太小了,一次只能乘坐两人.每个人都有一个渡河时间T,船划到对岸的时间等于船上渡 ...
- php类重载
首先,因为PHP是弱类型语言,是不直接支持重载的,不过可以通过一些方法来实现重载. 先说一下重写 在子类继承父类方法后,自己重新定义父类的方法,包含函数名,形参(个数,顺序)完全相同,但权限修饰符可不 ...
- sqlserver中drop、truncate和delete语句的用法
虽然小编不建议大家去用命令删除数据库表中的东西,但是这些删除命令总有用的着的地方. 说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄弟用 ...
- mongodb-3.2.8 单机复制集安装
规划: replSet 复制集名称: rs1 MongoDB数据库安装安装路径为:/usr/local/mongodb/ 复制集成员IP与端口: 节点1: localhost:28010 (默认的 ...
- 允许Java App(applet)粘贴方法
修改安全策略文件: "java.policy" JRE6的路径在:"C:\Program Files (x86)\Java\jre6\lib\security" ...