『Java』Java当中会有那些误区?( 二 )
Serializable 是系统提供的一个接口 , 没有定义任何方法
(飞机和鸟这两种类的飞行方法 , 无直接父类 , 用接口)
Have——a
extend:(继承)
与接口异同
相同 使用一个大的类型表示一系列小的类型都表示一种规范 , 模版存在
继承只能继承一个父类 , 接口可以实现多个接口 , 以“”隔开 。 继承可以继承方法和属性 接口只有抽象方法 , 没有属性 接口只能定义静态常量 public static final
Is——a
static:(静态的)
修饰方法可以不实例化直接调用
修饰属性也可以直接调用
Java中的数组
数据类型 对象名[
={值1 , 值2 , 值3 , ......
数组使用:对象名[索引值
(索引值从0开始)
数组在范围之外=数组越界
int 数组长度变量=数组对象名.length (定义数组长度)
数据类型 对象名[
=new 数据类型[数组长度
(创建一个指定长度的数据 , 值都为0)
除了8个基本数据类型 , 其他初始化数组都为空
调用数组中的每一个元素叫做遍历
数组声明: 数据类型[
数组名称; 推荐使用 , 更规范
数组赋值(初始化):静态初始化:创建数组的时候直接为数组中元素赋值
数据类型[
对象名=new 数据类型[
{值1 , 值2 , 值3 , ...... 可以省略为:数据类型 对象名[
={值1 , 值2 , 值3 , ......(不推荐)
动态初始化:需要指定数组的长度(容量) , 最多存储多少个元素 , 每个位置存放的元素都是对应数据类型的默认值 数据类型[
对象名=new 数据类型[数组长度
; 可以通过索引来设置或者读取数组 , 索引从0开始
Java中的集合
Java 中关于容器提供了两个接口 :CollectionMap 都可以用来存储多个元素
继承Collection接口的常用接口:list、set
Collection、list、set都是接口
List 中的元素可以重复
List 的实现类很多 , 常用ArrayList
ArrayList长度可变 , 可以添加不同类型的元素
size(); 可以获取容器长度 , 元素个数 对象名.size();
add(放入值); 可以放入容器 对象名.add(放入值 , 可以不同数据类型);
get(想要取出元素的索引值); 取出容器中元素 对象名.get(索引值);
get();方法取出来的为Object类型
remove(索引值/元素值); 删除容器中的元素 对象名.remove(索引值/元素值); 删除时注意!传给remove()方法的元素值应该是整体元素值 。 例如:一个students集合 , 想要删除不止要传给remove()方法 students的某一个属性 , 要传整个student才能删除
removeAll(集合对象名); 删除一组元素 , 传一个Collection对象 , 删除的元素为调用该方法的集合中 , 与传进去的集合相同的元素
clear(); 清空集合
indexOf(元素值); 根据元素值获取该元素在集合中的索引值 对象名.indexOf(元素值); 如果返回索引为-1 , 则说明集合中无该元素
contains(元素值); 返回值为boolean 类型 判断集合中是否包含该元素
Set 中元素不可重复
Set 的实现类也很多 , 常用HashSet
HashSet使用方法和ArrayList几乎一样 区别在于添加元素不能重复
Set是无序的 , 没有索引的概念 , 通过遍历和添加顺序无关 , ArrayList有索引概念
不能指定获取Set中的某一个元素 必须通过遍历判断去获取指定元素 所以没有get();方法
实际开发中并不会使用ArrayList存多种类型 通常作为可变长度数组使用只会存储一种数据类型
Map跟Collection不同在于
Map为两个容器 , 一个存key , 一个存value
同时key和value存在一一对应的关系
key—>Set 不允许有重复元素
HashMap<String String> map=new HashMap<String String>();
HashMap<数据类型 数据类型> 对象名=new HashMap<数据类型 数据类型>();
推荐阅读
- 「杨蕾聊八卦」支付宝总是使用“花呗分期”都会有什么影响?网友懊悔:到现在才明白,原创
- 开源中国@33 计划使用 OpenJDK 11 作为默认 Java 版本,Fedora
- 环球趣闻档案室▲地球自转逐渐减缓,彻底停止后会有什么影响?生物灭绝,最新研究
- Java架构师技术栈分享■request body读取流程详解,nginx
- 懒人有控■端游级电竞体验,会有惊喜吗?,联想拯救者电竞手机将发布
- 『IT之家』S6 5G新品发布会有奖直播(视频),点亮夜色点亮你:vivo
- 「小胖先森」以后也不会有,赵明:荣耀智慧屏没有开关机广告
- [千锋广州]5个常用的Java微服务开源框架推荐
- 「Java架构学习交流」从基本概念深入到实现,跟面试官侃半小时MySQL事务隔离性
- 手机数码领域作者▲价格和海外会有何不同?,国内版p40系列发布
