1,构造方法
Person() 构造方法
特点:没有返回值类型,方法名和类名相同
每一个类都会有一个默认的无参构造方法,当写一个有参构造时,无参构造会消失。
作用:实例化对象 给属性赋初始值
2,面向对象的特征
1. 封装:保护内部的操作不被破坏;
2. 继承:在原本的基础之上继续进行扩充;
3. 多态:在一个指定的范围之内进行概念的转换。
3,方法的重载(overload)
方法重载的特点:
在同一个类中,方法名相同,参数列表(个数,类型,顺序)不同
与返回值、访问修饰符无关
4,继承的特点
1,继承父类的属性和方法
2,不能继承父类的构造方法
private 修饰的属性和方法
子类和父类不在同一包下时,使用默认的访问修饰符
4,java中的类只有单继承,一个子类只有一个父类。但是可以多重继承
5,一个类如果没有extends继承,默认继承Object。Object是所有类的父类
6,父类又叫超类,基类。子类又叫派生类。
5,super和this关键字
super:
super(); 调用父类的无参构造 必须写在构造方法中的第一行
super:表示对父类对象的引用
super只能出现在子类的方法和构造方法中
super调用构造方法时,只能是第一句
super不能访问父类的private成员
this:
this :表示对本类对象的引用
this(); 调用无参构造方法,必须写在构造方法中的第一行
6,方法的重写、覆盖(override)
当父类的方法满足不了子类的需求,这个时候需要子类重写父类的方法
特点:方法名和父类的方法名一致,返回值类型一致,参数列表一致,
子类方法的访问权限不能比父类的更严格。
子类的返回值可以是父类返回值对象的子类对象
7,抽象类和抽象方法的特点
1,抽象类和抽象方法都通过abstract关键字来修饰
2,抽象类不能实例化。抽象类中可以没有、有一个或者多个抽象方法,甚至全部方法都可以是抽象方法
3,抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类。子类必须重写
所有的抽象方法才能实例化,否则子类还是个抽象类。
8,多态的三要素
1,要有关系--继承
2,要有方法重写--重写式多态
3,要有向上转型--父类的引用指向子类的对象
9,instanceof关键字
1,instanceof 运算符是用来在运算时判断对象是否是指定类及其父类的一个实例。
比较的是对象,不能比较基本类型
10,static final关键字
static
1,用来修饰成员变量
将其变为类的成员,从而实现所有对象对于该成员的共享
2,用来修饰成员方法
将其变为类方法,可以直接使用"类名.方法名"的调用方式,常用于工具类。
3,静态块用法
将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键。
4,静态导包用法
将类的方法直接导入到当前类中,从而直接使用"方法名"即可调用类方法,更加方便
final:
1,被final修饰的类不可以被继承
2,被final修饰的方法不可以被重写
3,被final修饰的变量不可以被改变
11,List接口
add(E e) ; 添加元素 Element 元素
add(int index, E element); 在index索引处插入元素element对象
addAll(Collection<? extends E> c); 将集合对象c 追加到集合后
addAll(int index, Collection<? extends E> c) ;
clear() ; 清空元素
contains(Object o) ;返回的boolean类型,表示是否包含某个对象
containsAll(Collection<?> c) ;判断是否包含某个集合对象
equals(Object o); 重写Object的equals方法
get(int index) ; 通过下标获取对象的元素对象
indexOf(Object o) ; 返回o对象所在的下标 如果没找到返回-1
lastIndexOf(Object o) ;
isEmpty() ; 判断集合是否为空,是否有元素对象
remove(int index) ; 根据索引删除元素对象
remove(Object o) ; 根据对象删除
set(int index, E element); 替换对应所有的元素对象为element
size() ;返回集合的长度
12,list接口的常用的实现类
1,ArrayList
底层的实现是数组,查询快
2,LinkedList
底层是双向链表,添加快
包含了List接口定义的所有方法,但还是有自己特有的方法
void addFirst(Object o) 在列表的首部添加元素
void addLast(Object o) 在列表的末尾添加元素
Object getFirst() 返回列表中的第一个元素
Object getLast() 返回列表中的最后一个元素
Object removeFirst() 删除并返回列表中的第一个元素
Object removeLast() 删除并返回列表中的最后一个元素