supper:
1. super调用父类的构造方法,必须在子类构造方法的第一个
2. super必须只能出现在子类的方法或者子类构造方法中
3. super()和this()不能同时调用构造方法,因为必须要在第一个
vs this:
1. 代表的对象不同
this:本身调用者这个对象
super代表父类对象的应用
2. 前提
this:没有继承也可以使用
super:只能在继承条件下才能使用
3. 构造方法
this():本类的构造
super():父类的构造
- 重写:需要有继承关系,子类重写父类的方法!
1. 方法名必须相同
2. 参数列表必须相同
3. 修饰符:范围可以扩大但不能缩小:public>protected>default>private
4. 抛出的异常:范围,可以被缩小,但不能扩大:ClassNotFoundException---> Exception(大)
- 重写,子类的方法必须要和父类一致:方法体不同!
- 为什么重写?
1. 父类的功能,子类不一定需要,或者不一定满足!
多态注意事项:
1.多态是方法的多态,属性没有多态
2.父类和子类要有联系,否则会出现类型转换异常!ClassCastException
3.存在条件:继承关系,方法需要重写,父类引用指向子类对象! Person person = new Student();
以下情况不能重写:
1.static方法,属于类,它不属于实例
2.final常量
3.private方法