JAVAOOP5
1.接口:
引用数据类型,interface定义,只能包含常量和抽象方法
不能被实例化,需要被实现,实现类必须重写所有抽象方法
一个类可以实现多个接口,用逗号分隔,先继承后实现
接口可以继承接口(接口可以继承多个接口的)
设计规则:
1.将所有派生类所共有的属性和行为,抽到超类中-----抽共性
2.所有派生类的行为都一样,设计为普通方法
所有派生类的行为都不一样,设计为抽象方法
3.将部分派生类所共有的行为,抽到接口中
接口是对继承的单根性的扩展-------------实现多继承
1.多态:
1)意义:
1.1)同一类型的引用,指向不同的对象时,有不同的实现
----行为的多态:cut()、run()、step()、getImage()...
1.2)同一个对象,被造型为不同的类型时,有不同的功能
----对象的多态:水、我...
2)向上造型/自动类型转换:
2.1)超类型的引用指向派生类的对象
2.2)能造型成为的数据类型有: 超类+所实现的接口
2.3)能点出来什么,看引用的类型
3)强制类型转换,成功的条件只有如下两种:
3.1)引用所指向的对象,就是该类型
3.2)引用所指向的对象,继承了该类或实现了该接口
4)强转时若不符合如上条件,则发生ClassCastException类型转换异常
建议:在强转之前先通过instanceof来判断引用的对象是否是该类型