Java基础学习009--接口与多态
2017-10-26 本文已影响0人
LesterYu
笔记:
1.接口:
1)是一种数据类型(引用类型)
2)由interface定义的
3)只能包含常量和抽象方法
4)接口不能被实例化
5)接口是需要被实现(implements)的,实现类必须重写接口中的所有方法
6)一个类可以实现多个接口,用逗号分隔
若又继承又实现时,应先继承后实现
7)接口可以继承接口
2.多态:
1)多态的意义:
1.1)同一类型的引用指向不同的对象时,有不同的实现------行为的多态
1.2)同一个对象被造型为不同的类型时,有不同的功能------对象的多态:我、你、水...
2)向上造型:
2.1)超类型的引用指向派生类的对象
2.2)能造型成为的类型有: 超类+所实现的接口
2.3)能点出来什么,看引用的类型
3)强制类型转换,成功的条件只有如下两种:
3.1)引用所指向的对象,就是该类型
3.2)引用所指向的对象,实现了该接口
4)强转时若不符合如上两个条件,
则发生ClassCastException类型转换异常
建议:在强转之前先通过instanceof来判断
引用指向的对象是否是该类型