类.集合、父类和子类

ArrayList

所属软件包: java.util

作用

数组长度不可变, 数组如果要扩容, 需要用到数组的复制
为了解决数组长度不可变的问题, 可以实现数组长度动态变化

支持类型

引用类型
基本数据类型都有对应的引用类型
int 为 Integer
char 为 Character
(其他基本数据类型都为首字母大写)
例如:
byte 为 Byte
boolean 为 Boolean

构造方法

空参构造器: 没有内容的空的集合
ArrayList < E > arrList = new ArrayList < E >()
< E >: 泛型, 可以所有的引用类型, 规定集合中元素类型的

常用API

void add(E e) 增加一个元素
E(集合的类型) remove(int index): 移除掉index位置的元素, 并返回被移除掉的元素
E get(int index) 获得index位置的元素
E set(int index,“String”) 修改index位置的元素,并返回被修改的元素
int size() 计算集合长度

泛型:< E >

规定集合中元素的类型

父类和子类

extends(继承)

子类 extends(继承) 父类
1.概念:子类/衍生类/扩展类: Dog
父类/基类: Animal
2.子类继承父类, 就继承了父类所有的成员变量和方法
3.所有的类, 都有唯一的父类,
如果没有写父类, 说明父类就是 Object
4.子类中还可以定义自己的独特的成员变量和方法
子类的功能一定比父类要强大

特殊情况

子类中的成员变量和父类的成员变量同名时

就会无法定义父类中的成员变量。
建议:父子类中的成员变量不要同名

子类中可以引用父类对象

super 与this类似。

创建子类对象之前, 会先创建父类对象

加载子类之前, 会先加载父类

构造方法: 父类的构造方法不能被子类继承

创建子类对象, 会先默认调用父类的无参构造器
原因: 子类构造方法中, 第一行默认 super();
可以手动调用父类其他构造方法
所以子类构造方法中, 一定会先调用父类的构造方法
父类中, 建议先写无参构造器

通过子类对象调用方法时

先看子类中有没有定义这个方法, 定义了, 调用子类方法
子类中没有这个方法, 调用父类继承的方法

方法的重写\覆盖

子类中定义的方法, 方法返回值类型\方法名\参数列表
都和父类中定义的方法完全一致

abstract 抽象的

抽象方法: 方法没有方法体

一个类中, 存在抽象方法, 那么这个类就必须也是abstract

抽象类: 用abstract修饰的类

抽象类不能直接new对象
有构造方法, 为了给子类使用
抽象类的非抽象子类, 必须实现/重写抽象类的所有抽象方法
判断:
1有抽象方法的类叫抽象类 是对的
2抽象类就是有抽象方法的类 是错的
3抽象类中可以没有抽象方法 是对的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值