多态
概念
多态是同一个行为具有多个不同表现形式或形态的能力;
多态就是一个接口,使用不同的实例而执行不同的操作;
多态也就是同一个事件发生在不同的对象上产生不同的结果。
作用
消除耦合度。
优点
1.消除类型之间的耦合关系;
2.可替换性;
3.可扩充性;
4.接口性;
5.灵活性;
6.简化性。
多态存在的三个必要条件:
多态必须在继承的情况下才能使用(没有继承就没有多态)
1.继承
2.重写
3.父类引用指向子类对象
父类引用指向子类对象
向上转型(自动类型转换)
<父类型><引用变量名>=new<子类型>( );
是小类型到大类型的转换
向下转换(强制类型转换)
<子类型><引用变量名>=(<子类型>)<父类型的引用变量>
父类类型转换为子类类型,需强制类型转换,是大类型到小类型的转换(存在风险,溢出)
instanceof运算符
作用:用来对类型做判断的
注意:使用instanceof时,对象的类型必须和instanceof后面的参数所指定的类在继承上有上下级关系
异常
概念
是组织当前方法或作用域继续执行的问题。
三种类型异常:检查性异常、运行时异常、错误
常见的内置异常类
1.ArrayIndexOutBoundsException 数组下标越界
2.NullPointerException 空指针异常
3.ClassNotFoundException 不能加载所需的类
4.ClassCastException 对象强制类型转换异常
捕获异常
try{
//可能出现异常的代码
}catch(ExceptionName e){
Catch块
}
e.printStackTrace 打印堆栈信息
finally
无论是否出现异常,finally里的代码都会执行。