关于类、抽象类和接口的继承关系
2018-06-18 03:44:42来源:未知 阅读 ()
关于类、抽象类和接口的继承关系
Java类的继承是单继承的,就是一个类只能继承一个类,但是可以通过接口来实现多继承,一个类可以实现多个接口。通过这种方式,Java类就可以实现多继承的关系。但是在继承类和实现接口的时候,存在多方法的实现,下面就是介绍关于多继承的方法实现问题。
一、类和抽象类
当实现类Impl继承一个抽象类Abstract,该实现类Impl可以不用实现抽象类Abstract中的所有方法,但是必须实现抽象类中的所有抽象方法。
二、类和接口
当实现类Impl直接实现接口Interface,那么该实现类Impl必须是想接口Interface里面的所有接口方法。
三、抽象类和接口
当抽象类Abstract实现接口Interface,抽象类可以实现接口中的部分接口方法,也可以完全不实现任何接口方法。
理解:因为抽象类的功能类似接口,都是给某种行为或者流程提供统一的抽象的规范,两者的目的都不是去具体实现具体操作,具体的操作需要不同实现类去实现。
四、实现类继承首相类然后实现接口
上面都是只设计两者之间关系的情况,当涉及三者之间关系的时候,情况稍微复杂,但是当你理解实现类、抽象类和接口的存在的目的和意义也就很容易理解
实现类Impl extends 抽象类Abstract implements 接口Interface(注:下面所有情况中抽象类Abstract都不用显式实现接口Interface:即不需要在抽象类Abstract中写Abstract implements Interface,只要方法是实现即可<即:方法的访问权限,修饰词,返回参数,参数列表一样>)
1、 如果抽象类Abstract实现了Interface中的部分方法,那么实现类Impl需要实现抽象类Abstract没有实现Interface中的接口。
例:Interface有三个方法
public void getUp();
public void washFace();
public void eatBreakfast();
Abstract只实现了Interface中的一个方法getUp(),那么Impl就需要实现剩下的两个方法washFace()和eatBreakfast()
2、 如果抽象类Abstract没有实现Interface中的任何方法(当然这种情况在工作中很少遇到,这样Abstract就失去了存在的意义),那么Impl就必须实现接口中的所有方法。
3、 如果抽象类Abstract实现Interface中的所有方法,那么实现类Impl就可以选择性的实现接口Interface中需要的方法
五、实体类继承实体类然后实现接口
实体类AImpl extends 实体类BImpl implements 接口Interface
情况和上面类似(这只是实体类,抽象类和接口关系的一种变化形式)
说明:BImpl不用显式实现接口Interface,只要方法是实现接口Interface的方法即可
总结:抽象类和接口的功能是给相似行为或者功能提供统一规范,不用具体实现某种操作,实现类是实现具体行为和功能的真正载体。实体类无论是继承还是实现接口,或者是多重继承,只要上层没有被实现的接口或者抽象方法都必须被实现。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java基础复习——类和对象 2020-06-09
- Java抽象类 2020-06-03
- 怎么自学JAVA开发? 2020-05-22
- 关于序列化的 10 几个问题,你顶得住不?.md 2020-05-19
- 错题记录——关于Java中private的用法(类与封装) 2020-05-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash