java继承
2018-12-17 本文已影响0人
数据工程师从入门到放弃
java继承
[TOC]
概念和特点
一种类与类之间的关系
在父类(基类)的基础上去创建子类(派生类)
新类的定义可以增加新的数据和新的功能 ,也可以使用父类的功能(非私有)。
注意:
1、不能选择性地继承父类
2、单继承
3、父类的构造方法不允许被继承、不允许被重写
extends关键字
方法的重写
image注意与方法重载的区别:
方法重载:
1、同一个类中
2、方法名相同,参数列表不同(参数顺序、个数、类型)
3、对返回值、修饰符没有限制
4、参数名不同 不是重载
方法重写:
返回值类型
方法名
参数类型、顺序、个数
都与父类继承的方法相同
1、有继承关系的子类中
2、方法名相同,参数列表相同(参数顺序、个数、类型)
3、方法的返回值相同
4、方法的修饰符可以允许(有条件)变化 子类重写方法修饰符要大于等于 父类中的方法
5、与方法的参数名无关
访问修饰符的分类及作用
imageprivate:只允许在本类中进行访问
默认:允许在当前类、同包子类/非子类调用 ;跨包子类/非子类不可以
protected:允许在当前类、同包子类/非子类、跨包子类;跨包非子类不可以
继承后的初始化顺序
imagesuper关键字
子类的构造过程 必须调用其父类的构造方法 如果子类的构造方法中 没有显式标注 则子类构造 默认调用父类无参构造方法
可以 通过super()调用父类允许被访问的其他构造方法
且必须放在子类构造方法 有效代码行 第一行
super 和 this
imagefinnal关键字
imagefinnal关键字 对于方法 该方法不允许被子类重写, 但是可以被子类继承使用 (注意:不能修饰构造方法)
innal关键字 对于类 表示 该类没有子类 表示不允许被继承
innal关键字 对于变量(成员属性 / 局部变量)
局部变量:只要在具体被使用之前进行赋值即可,一旦赋值不允许被修改。
成员属性:赋值过程:定义直接初始化 构造方法 构造代码块