一、super 与 this
需要注意:
- super调用父类的构造方法,且必须是在构造方法的第一个
- super只能出现在子类的方法或者构造方法之中
- super和this不能同时调用构造方法(因为两个都必须在构造方法的第一个,互相冲突)
super
VS this
代表的对象不同:
this:本身调用这个对象
super:代表父类对象的引用
使用前提不同:
this:没有继承也可以正常使用
super:只能在继承条件下用来调用父类方法或构造方法使用
本身作为不同类的构造方法:
this(); 本类的构造
super(); 父类的构造
二、方法重写
需要具有继承关系,对于子类和父类而言,子类可以对父类的方法进行重写
重写都是方法的重写,与属性无关
重写要求:(子类的方法和父类必须要一直,方法体不同!)
- 方法名必须相同
- 参数列表必须相同
- 修饰符:范围可以扩大不可以缩小(public > protected > default > private)
- 抛出的异常:范围可以缩小不可以扩大
- 重写一般与非静态方法有关,静态放在会与类同时创建,并不会受到重写的影响
为什么需要重写?
父类的功能子类不一定需要或者不一定能够满足
什么情况不可以重写?
- static 方法, 属于类,不属于示例
- final 常量
- private 方法
本文章知识点学习自B站up主“遇见狂神说”