天天时讯:如何用interface实施接口?阿里架构师讲解Java接口的继承与抽象类
在实施接口中,我们利用interface语法,将interface从类定义中独立出来,构成一个主体。interface为类提供了接口规范。
在继承中,我们为了提高程序的可复用性,引入的继承机制。当时的继承是基于类的。interface接口同样可以继承,以拓展原interface。
(资料图片)
接口继承
接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型。比如,我们以Cup作为原interface:
interface Cup { void addWater(int w); void drinkWater(int w); }
我们在继承Cup的基础上,定义一个新的有刻度的杯子的接口,MetricCup
接口如下:
interface MetricCup extends Cup { int WaterContent(); }
我们增添了一个新的方法原型WaterContent(),这个方法返回一个整数(水量)。
interface的多重继承
在Java类的继承中,一个衍生类只能有一个基类。也就是说,一个类不能同时继承多于一个的类。在Java中,interface可以同时继承多于一个interface,这叫做多重继承(multiple inheritance)。
比如我们有下面一个Player接口:
interface Player { void play(); }
我们新增一个MusicCup的接口。它既有Cup接口,又有Player接口,并增加一个display()方法原型。
interface MusicCup extends Cup, Player { void display(); }
(如何使用interface,见实施接口)
抽象类
在生活中,我们会有一些很抽象的概念。这些抽象的概念往往是许多类的集合,比如:
粮食 (可以是玉米、小麦、大米)图形 (可以是三角形、圆形、正方形)再比如,我们之前举出了例子:人类 (可以是男人、女人)在组织这样的关系时,我们可以使用继承,比如:
根据我们的常识:
"Food类的对象"的说法是抽象的。这样一个对象应该是属于Corn, Rice, Wheat子类中的一个。Food类有eat()方法 (食物可以吃)。然而,这样的一个动作是抽象的。粮食的具体吃法是不同的。比如Corn需要剥皮吃,Wheat要磨成面粉吃。我们需要在每个类中覆盖Food类的eat()方法。
Java中提供了抽象类(abstract class)的语法,用于说明类及其方法的抽象性。比如:
abstract class Food { public abstract void eat(); public void happyFood(); { System.out.println("Good! Eat Me!"); } }
类中的方法可以声明为abstract,比如上面的eat()。这时,我们不需要具体定义方法,只需要提供该方法的原型。这与接口类似。当我们在比如Corn类中继承该类时,需要提供eat()方法的具体定义。
类中的另一个方法happyFood()并不是
当一个类中出现abstract方法时,这个类的声明必须加上abstract关键字,否则Java将报错。一个abstract类不能用于创建对象。
抽象类的继承
我们可以像继承类那样继承一个抽象类。我们必须用完整的方法定义,来覆盖抽象类中的抽象方法,否则,衍生类依然是一个抽象类。
抽象类的定义中可以有数据成员。数据成员的继承与正常类的继承相同。
总结
interface继承,多重继承
abstract method, abstract类
标签:
相关推荐:
最新新闻:
- 环球热讯:python创建画布?python生成白色画布的方法
- 洗衣机购买多大功率的好?洗衣机功率选择说明
- 如何安装工行网银助手?工行网银助手无法安装的方法|热点聚焦
- 如何选用高压电容补偿器?高压电容补偿器的使用方法-世界速读
- 手机刷卡器怎么用?手机刷卡器使用方法
- 天天热消息:NSBundle怎么使用?注意mainBundle和Custom Bundle的区别
- 天天时讯:如何用interface实施接口?阿里架构师讲解Java接口的继承与抽象类
- 【热闻】如何在Windows上清除/刷新DNS缓存?全平台详细教程
- dota2:Dota2OMG模式强力技能组合推荐
- 手机上网需要做哪些事儿?手机上网的关键流程_每日头条
- 16比9尺寸是多少厘米?液晶显示器16比9计算公式 焦点短讯
- 天天新消息丨怎么在线压缩视频文件?视频压缩方法分享
- 驱动精灵有哪些特点?如何使用驱动程序?:环球新资讯
- 如何在代码中设置WIFI静态IP?设置WIFI静态IP流程:当前热议
- 环球热资讯!怎样美容?最全面的美容大法
- 如何拍出漂亮的满月?八招教你记录中秋节的美
- 全球快看:qq扩列功能怎么找不到了?2021新版功能在哪?
- ie浏览器哪个版本好用?最好用的IE是什么?:环球今日讯
- 世界信息:什么是M档?单反相机的全手动模式解读
- 天天微速讯:如何定期清洗油烟净化器?详细步骤来了
- 浴霸开关接线的方法有哪些?如何安装?
- 头条:支付宝和微信免费提现有什么不同?支付宝和微信免费提现的区别
- iOS11.0.3怎么升级?iOS11.0.3升级方法教程
- 如何免费压缩PDF文件?这几个方法帮你搞定_世界聚焦
- hdmi接口有什么用?笔记本电脑常见接口科普
- 涡轮式离心风机有哪些特点?涡轮式离心风机特点介绍
- 百度指数是怎样计算的?百度指数计算方法
- 环球报道:win10怎么查看端口是否开启?教你win10查看端口是否开启的方法
- Msi微星怎么样?游戏本的品牌效应有哪些? 速递
- 世界焦点!地热供暖系统好不好?地热供暖系统有哪些优势?
- 全民英雄游戏怎么玩?全民英雄游戏攻略新手入门必看
- 酷派大神9976A怎么刷机?酷派大神9976刷机教程:独家
- 【干货】PLC之间的通信怎么入门?PLC之间的通信怎么学?:世界新消息
- 笔记本电脑wifi怎么连接?联想小新air12教程-天天即时看
- 怎么在电脑上玩口袋妖怪新世代手游?口袋妖怪新世代电脑版玩法攻略|环球今日讯
- 步步高工具高通版刷机救砖教程(安装驱动)
- 电脑中了病毒有什么症状?电脑感染病毒的10种症状及简单处理办法:全球微头条
- linux怎么安装svn服务器?linux安装svn服务器的两种方式
- 如何操作现货原油期货?操作流程步骤
- 怎么找不到局域网查看工具?如何正确使用? 当前看点
- 获取ajax里面的数组内容——实现异步列表
- nmap扫描工具怎么使用?nmap扫描工具简单使用教程
- 《哥斯拉大战金刚2:新帝国》前导预告发布
- 类银河战士恶魔城《动物井》还将登陆Switch
- 今日热文:特斯拉Model3价格跌破4万美元
- 又一款国民神车来了 定价仅为5.39万|环球讯息
- 今日热文:生态才是关键 运动的终点在朋友圈
- iPhone14 128GB只要4919元
- 环球速递!董宇辉自曝发一条广告给1000万:这钱不能挣
- 《伊苏10》公布新角色及三种特殊能力 环球资讯
- PS三档会员新福利:试玩2小时《迪士尼无限飞车》_讯息
- 硬盘减负难!曝《星战绝地幸存者》PS5版大小为147G
- 环球观点:《星球大战绝地:幸存者》PS5版超147GB
- 胆小慎入!《潜伏5:红门》首曝港版中字预告 世界新要闻
- 买来收藏!近半数玩家选择《王国之泪》实体版
- 《红霞岛》新角色预告:武器发明家 花式杀僵尸-快讯
- 外媒:游戏中黑人女主比例正在上升 但仍有增长空间
- 移动游戏的魅力壹号本PC掌机与你相约ZOL“武汉潮好玩”嘉年华_当前看点
- 初心如磐,奋楫笃行,共赢数字化未来
- 国家一级演员宗利群去世 生前曾扮演六十多次彭德怀|独家焦点
- 焦点快报!开发者爆料暴雪人才流失严重:高层无视意见独断专行
- 当前热议!《魔戒:咕噜》开发商为付费精灵语DLC辩护:只有真爱粉才懂
- 系列销售总监询问玩家:你希望《消逝的光芒3》主角是什么职业?-天天热消息
- 天天速读:《地平线:西之绝境》埃洛伊性取向确定:是女同性恋
- 恐怖新游《10 Dead Doves》开启众筹 生化寂静岭风格
- 精选!新《仙剑奇侠传》电视剧过审 杨雨潼何与等主演
- 世界即时:华硕游戏掌机ROG Ally配置曝光 锐龙7 7840U
- 王轶梧:遇见春天
- SteamDeck拆机前一定要取出SD卡!否则会直接折断
- 黄牛手里的PS5价格暴跌!比官方的还便宜
- 《生化4RE》偷盘哥后 又出现模仿者偷盘姐!|全球时讯
- “强国复兴有我”主题志愿服务活动在川开展_世界快资讯
- 天玑9200+跑分曝光:137万分
- iPhone 14频繁重启 遭大规模用户投诉:每日时讯
- iPhone 15接口处曝光 竟然还是Lightning?