课程名称:Java工程师2022版
课程章节:Java多态(下)
课程内容:
JAVA多接口、接口的继承
UM中类的横向关系
课程收获:
多接口:
一个类只能继承一个父类,但可以实现多个接口,(子类 extends 父类 implements 接口),多个接口后面用“,”间隔开
重名默认方法处理:1、一个类实现多个接口,多个接口中存在同名方法,那么该类中需要重写该方法。
2、子类,父类,接口中有同名方法
如果子类没重写,父类中重写了,会调用父类的方法
如果子类重写了则会调用子类中的方法
重名常量处理:多接口中重名常量,直接用(接口名.常量) 调用
接口、父类变量重名的,编译器无法解析。需要重新定义子类自己的变量
接口的继承:
接口是可以继承多个父接口。 实现类中必须重写所有的抽象方法
如果父接口中有重名的默认方法,需要在子接口中重写自己的默认方法
单继承:可继承父接口中定义的常量、抽象方法、默认方法,无法继承静态方法
多继承:只可继承父接口中的抽象方法,常量和默认方法则无法分辨应用哪个
UML:统一建模语言或标准建模语言,支持模型化和软件系统开发的图形化语言,为软件开发提供模型化和可视化支持
类横向关系:泛化、实现
泛化即继承,表示一般与特殊的关系,一般指父类,特殊指子类,用一条空心三角箭头实线表示 子类指向父类
实现和泛化相似,逻辑上可以通过is a表示,区别在于,实现关系通常是继承自一个抽象类或接口,表示类是接口或抽象类所有特征和行为的实现,泛化是继承一个具体类。
用一条空心三角箭头的虚线表示 子类指向抽象父类或者接口