ArrayList
ArrayList<String> list = new Arraylist<>();
<>是泛型表示存放的数据类型,注意不能是基本数据类型;
增删改查
增:add 返回值为true
删:remove 1.直接删元素
2.根据索引删元素
改:set(索引,要改的东西) 返回改掉的东西
查:get(索引)返回该索引存储的值
size()长度
如果返回多个数据,先把数据放到容器当中
再把容器返回。
Ctrl Alt+t 选个东西包裹选中代码
在循环前面加上标识符“xxx:”
跳出循环时break xxx 就可以跳出指定循环
被static修饰的成员变量被称为静态变量
被static修饰的成员方法叫做静态方法
静态变量随着类的加载而加载,是优先于对象存在的
JavaBean类:用来描述一类事物的类
测试类:用来检查其他类是否书写正确
工具类:不是用来描述一类事物,而是帮我们做一些事情的类。
工具类:1.类名见名知意
2.私有化构造方法
静态方法中,只能访问静态
非静态可以访问所有
静态中没有this关键字
子类可以继承父类的哪些特征
构造方法不能继承
成员方法:能 private修饰的也能,但不能用
成员方法:加载到虚方法表中的能,其他不能
当父类方法不能满足子类需求时,进行方法重写
继承体系中子类出现一样的方法声明,就称为子类这个方法的重写
@Override放在重写方法上,校验重写时语法是否正确
本质:覆盖虚方法表中的方法
访问权限子类必须大于等于父类,返回值类型子类必须小于等于父类只有被添加到虚方法表中的方法才能被重写
this调用:就近原则
super:直接找父类
子类中所有构造方法默认先访问父类中的无参构造,在执行自己
子类初始化之前,一定调用父类构造方法先完成父类空间数据的初始化
子类构造方法第一句默认是:super(),不写也存在,且必须写在第一行,想使用父类有参构造,必须手动构造
this super汇总:
this:理解为一个变量,表示方法调用者地址
一个方法既要接收好几个类,就要把参数写成他们的父类
什么是多态:对象的多种形态
多态的前提:1.有继承/实现关系
2.有父类引用指向子类对象
3.有方法的重写
多态的好处:使用父类型作为参数,可以接收所有子类对象,便于体现多态的扩展性与便利
Fu f = new Zi();
调用成员变量:编译看左边,运行也看左边
a.name编译时候会看左边父类有没有这个变量有就编译成功,没有编译失败
运行时获取的是左边父类成员变量的值
调用成员方法:编译看左边,运行看右边
a.show()编译时看左边父类中有没有这个方法,有编译成功,无编译失败
运行代码时实际上运行的是子类的 方法
多态弊端:不能调用子类特有功能
原因:调用成员方法时,编译看左边,运行看右边
先检查父类,没有这个方法直接报错
解决方法:在建一个对象强转 Cat c = (Cat) a
instanceof