类和类之间的关系
发布时间 2023-09-24 21:07:08作者: HuangBingQuan
类和类之间的关系
A is-a B(A是一个B) 泛化(继承 实现)
继承关系
- 子类想要继承父类,通过extends关键字来实现
- 子类继承了父类,可以调用父类中的(public protected)的属性和方法
2.1 构造方法严格意义来说 不算做子类继承过来,只是单纯的在子类调用构造方法时,默认调用父类的构造方法
2.2 程序块严格意义来说 不算做子类继承过来(子类自己调用不到 没名字),默认调用了父类的构造方法 父类构造方法之前自动执行父类的块
- 子类除了能继承父类的属性和方法之外,子类还可以添加自己独有的成员(属性和方法)
- 当父类继承过来的方法无法满足子类的需要,可以进行方法重写(override)
4.1 关于方法重写(override)和 方法重载(overload)区别
|
重写(override) |
重载(overload) |
类 |
继承关系两个类 |
一个类中的一组方法 |
权限 |
final static abstract |
|
|
父类是final 子类不能重写 |
|
|
父类是static 子类不存在重写 |
|
|
父类是abstract 子类必须重写 否则子类也得是抽象类 |
|
返回值 |
子类可以小于等于父类 |
|
方法名 |
子类必须与父类一致 |
几个方法的名字必须一致 |
参数 |
子类必须与父类一致 |
几个方法的参数必须不一致(个数 类型 顺序) |
异常 |
继承关系两个类 |
|
|
编译时,运行时 |
|
|
如果父类抛出运行时 子类可以不予理会 |
|
|
如果父类抛出编译时 子类抛出异常的(个数类型)要少于等于父类 |
|