多态、抽象、接口
-
super调用父类的构造方法,必须在构造方法的第一个
-
super必须只能出现在子类的方法或者构造方法中!
-
super和this不能同时调用构造方法
和this的比较:
代表的对象不同:
this:本身调用者这个对象
super:代表父类对象的应用
前提
this:没有继承也可以使用
构造方法
this():本类的构造
super():父类的构造
重写:需要有继承关系,子类重写父类的方法!
-
方法名必须相同
-
参数列表必须相同
-
修饰符:范围可以扩大但不能缩小: public>Protected>Default>private
-
抛出的异常:可以被缩小,但不能扩大
重写,子类的方法和父类必须要一致,方法体不同!
为什么需要重写:
-
父类的功能,子类不一定需要,或者不一定满足!
多态
-
即同一方法可以根据发送对象的不同而采用多种不同的行为方式
-
一个对象的实际类型是确定的,但可以指向对象的引用类型很多
-
多态存在的条件
-
有继承关系
-
子类重写父类方法
-
父类引用指向子类对象
-
-
注意:多态是方法的多态,属性没有多态性
多态注意事项:
-
多态是方法的多态,属性没有多态
-
父类和子类有联系 否则就会引发类型转换异常!ClassCastException!
-
存在条件:继承关系,方法需要重写,父类引用指向子类对象!Father f1 = new Son();
-
static方法,属于类,它不属于实例
-
final常量
-
private方法(以上三种都不能用于多态)
-
类型转换
-
父类引用指向子类的对象
-
把子类转换为父类,向上转型
-
把父类转换为子类,向下转型,强制转换
-
方便方法的调用,减少重复的代码
抽象类
-
不能new这个抽象类,只能靠子类去实现它
-
抽象类中可以写普通的方法
-
抽象方法必须在抽象类中
接口
-
普通类:只有具体实现
-
抽象类:具体实现和规范(抽象方法)都有
-
接口:只有规范,自己无法写方法
接口的本质是契约
一个java类中可以有多个class类,但是只能有一个public class
异常
-
检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略
-
运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略
-
错误ERROR:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译时也检查不到
-

浙公网安备 33010602011771号