ArrayList类及继承介绍

ArrayList类及继承介绍

ArrayList

ArrayList是用来存储数据的数组。
数组的长度不可变,数组如果要扩容,可以用数组的复制:int[] copyOf(int[], int newLength)。
为了解决数组长度不可变的问题, 可以实现数组长度动态变化。
ArrayList仅支持引用类型的数据。

ArrayList构造方法

ArrayList<E> arrList = new ArrayList<E>()
<E>:泛型,适用所有的引用类型数据。
如果想使用基本数据类型那也没有问题,基本数据类型都有相对应的引用类型可以表示,如下:

基本数据类型引用数据类型
intInteger
charCharacter
byteByte
doubleDouble
booleanBoolean

常用API

void add(E e):往数组中添加元素
E remove(int index):移除掉index位置的元素, 并返回
E get(int index):获取index位置的元素, 并返回
int size():读取数组长度

<E>介绍

<E>:泛型, 规定集合中元素的类型
没有规定泛型, 集合中的元素可以是任意类型
所以使用get()之类的方法时, 就不能确定返回值类型
所以, 使用集合时, 需要规定泛型

继承介绍

继承的概念

继承: extends
继承中有子类和父类两个概念,其中子类又叫衍生类或扩展类,父类又可以称之为基类。
当一个子类继承了父类,就可以继承其所有的成员变量和方法。
所有的类, 都有唯一的父类,如果没有写父类, 说明父类就是 Object。开玩笑的说,我们可以称之为祖宗类。
我们可以在子类中定义独属于自己的成员变量和方法,子类的功能一定比父类更加强大。

特殊情况

1.子类中的成员变量和父类同名 name
Dog d = new Dog();
d.name -> 就是指自己定义的name,不是继承过来的name
结论: 父子类中的成员变量不要同名
2.子类中可以引用父类对象
super
3.创建子类对象之前, 会先创建父类对象
加载子类之前, 会先加载父类
4.构造方法: 父类的构造方法不能被子类继承的
创建子类对象, 会先默认调用父类的无参构造器
原因: 子类构造方法中, 第一行默认 super()
可以手动调用父类其他构造方法
结论: 子类构造方法中, 一定会先调用父类的构造方法
父类中, 建议先写无参构造器
5.通过子类对象调用方法时
先看子类中有没有定义这个方法, 定义了, 调用子类方法
子类中没有这个方法, 调用父类继承的方法

方法重写\覆盖

在子类中重新定义一个和父类完全一样的方法,这就是重写,我们还能在重写的方法中添加新的代码。这时候在子类中调用方法的时候会用子类定义的方法,而不是直接继承父类的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值