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 ...
随机推荐
- jmeter diff测试
1.准备接口数据(对比字段,即json数据中需要提取的key对应的值进行对比) 2.配置获取EXCEL数据 3.新建线程,并建两个http请求,分别用于请求新旧接口 4.提取需要对比的内容 5.赋值变 ...
- HDU6440(费马小定理)
其实我读题都懵逼--他给出一个素数p,让你设计一种加和乘的运算使得\[(m+n)^p = m^p+n^p\] 答案是设计成%p意义下的加法和乘法,这样:\[(m+n)^p\ \%\ p = m+n\] ...
- Codeforces 1142E(图、交互)
题目传送 官方题解说的很好了,剩下的就是读大佬代码了,前面是tarjan求SCC缩点图.我图论没学过,接下来删点是怎么操作看得有点头秃,直到我看到了%%%安德鲁何神仙的代码. 按照题面连通紫线以后,我 ...
- 利用串口的硬件buf收发数据
很多单片机的串口可以设置硬件接收和发送的buf,这样可以减少中断的次数和cpu的浪费,方法就是:发送时根据串口波特率(通讯格式N-8-1)和硬件buf缓冲的字节数计算定时器的间隔(小于1000*buf ...
- Unity小知识记录
//判断运行的平台 Application.platform == RuntimePlatform.Android EditorPrefs 编辑器储存数据 [AddComponentMenu(&quo ...
- React 实践记录 01 组件开发入门
Introduction 本文组成: Ryan Clark文章Getting started with React的翻译. 博主的实践心得. React由Facebook的程序员创建,是一个非常强大的 ...
- lnmp.org + phpstorm + xdebug
lnmp.org下载安装包安装之: lnmp是个集成安装包,就不用自己在配置lnmp环境 安装phpstorm,破解方法:注册服务器为http://idea.lanyus.com 就可以了 xdebu ...
- this详解,对执行上下文说 Yes
this 指向多变,很多隐蔽的 bug 都缘于它.与此同时,this 强大灵活,如果能熟练驾驭,就会写出更简洁.优雅的代码. 社区上对于 this 的讲解虽然不少,但缺乏统一梳理. this 相关知识 ...
- 2018百度之星初赛(A)2 度度熊学队列
思路: 记录一下c++ stl中的双向链表list的各种用法. https://blog.csdn.net/fanyun_01/article/details/56881515 实现: #includ ...
- JavaScript30-7 数组的一些基本方法
本次来学习数组的一些方法,之前学习的js数组的方法是在第四课里面(没有写到随笔里面) 之前第四课主要讲的是 filter() ,map() 这次课程主要介绍的是 some()`.`every()`.` ...