Super
/*
super注意点:
1. super调用父类的构造方法,必须在构造方法的第一一个
2. super必须只能出现在子类的方法或者构造方法中!
3. super和this 不能同时调用构造方法!
Vs this:
代表的对象不同:
this:本身调用 者这个对象
super:代表父类对象的应用
前提.
this:没有继承也可以使用
super:只能在继承条件才可以使用
构造方法
this() ; 本类的构造
super():父类的构造!
*/
![](/i/l/?n=23&i=blog/3116289/202303/3116289-20230301205811623-1942018057.png)
方法重写
//重写都是方法的重写,与属性无关
/*
重写:需要有继承关系,子类重写父类的方法!
1.方法名必须相同
2。参数列表必须相同
3.修饰符:范围可以扩大但不能缩小:public>Protected>Default>private
4.抛出的异常:范围,可以被缩小。但不能扩大: ClassNotFoundException -> Exception(大)
重写:子类的方法和父类必要一致: 方法体不同!
为什么需要重写:父类的功能,子类不一定需要,或者不一定满足
快捷键:Alt + Insert ;override
*/
![](/i/l/?n=23&i=blog/3116289/202303/3116289-20230301210022807-925450974.png)
多态
/*
多态注意事项:
1.多态是方法的多态,属性没有多态
2.父类和了类,有联系类型转换异常! ClassCastException !
3.存在条件: 继承关系, 方法需要重写,父类引用指向子类对象! Father f1 = new Son();
无法重写的方法
1. static 方法,属于类,它不属于实例
2. final 常量;
3. private方法;
*/
![](/i/l/?n=23&i=blog/3116289/202303/3116289-20230301210500538-1676267212.png)
类型转换
抽象类
接口
约束和实现分离
内部类
异常
/*
异常处理
抛出异常
捕获异常
异常处理的五个关键字
try、catch、finally、throw、throws
ctrl+alt+t快捷键生成异常抛出、捕获
*/
![](/i/l/?n=23&i=blog/3116289/202303/3116289-20230301211802802-590602700.png)
自定义异常类