电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java8新特性之接口默認方法示例詳解

瀏覽:3日期:2022-08-27 09:41:22

前言

JAVA8 已經發布很久,而且毫無疑問,java8 是自 java5(2004年發布)之后的最重要的版本。其中包括語言、編譯器、庫、工具和 JVM 等諸多方面的新特性。Java8 新特性列表如下:

接口默認方法 函數式接口 Lambda 表達式 方法引用 Stream Optional 類 Date API Base64 重復注解與類型注解

接口默認方法

1、什么是接口默認方法

從 Java8 開始,程序允許在接口中包含帶有具體實現的方法,使用 default 修飾,這類方法就是默認方法。默認方法在接口中可以添加多個,并且 Java8 提供了很多對應的接口默認方法。

2、設計接口默認方法好處

使用接口編程的好處是的開發是面向抽象而不再是面向具體來編程,使得程序變得很靈活,缺陷是,當需要修改接口時候,此時對應需要修改全部實現該接口的類,舉個例子, java 8 之前對于我們常用的集合框架沒有 foreach 方法,通常能想到的解決辦法是在 JDK 里給相關的接口添加新的方法及實現。從 Java8 開始,引入了接口默認方法,這樣的好處也是很明顯的,首先解決了 Java8 以前版本接口兼容性問題,同時對于我們以后的程序開發,也可以在接口子類中直接使用接口默認方法,而不再需要再各個子類中各自實現響應接口方法。

3、默認方法

jdk8 中,接口可以包含實現方法,需要使用 default 修飾,此類方法稱為默認方法。默認方法在接口中必須提供實現,在實現類中可以按需重寫。默認方法只能在實現類中或通過實現類對象調用。注意:當多個父接口中存在相同的默認方法時,子類中以就近原則繼承。

public interface IMathOperation { /** * 定義接口默認方法 支持方法形參 */ default void print(){ System.out.println('這是數值運算基本接口。。。'); }}

4、靜態方法

靜態方法即通過 static 修飾的方法。接口中靜態方法頁也必須實現,提供了可以直接通過接口調用方法的方式。

public interface IMathOperation { /** * 定義接口默認方法 支持方法形參 */ default void print(){ System.out.println('這是數值運算基本接口。。。'); } /** * 定義靜態默認方法 */ static void version(){ System.out.println('這是1.0版簡易計算器'); } }

5、接口默認方法使用

定義 IMathOperation 接口并提供默認打印方法

public interface IMathOperation { /** * 定義接口默認方法 支持方法形參 */ default void print(){ System.out.println('這是數值運算基本接口。。。'); } /** * 定義靜態默認方法 */ static void version(){ System.out.println('這是1.0版簡易計算器'); } /** * 整數加法運算方法 * @param a * @param b * @return */ public int add(int a,int b);}

子類實現

定義 MathOperationImpl 子類 實現 IMathOperation 接口

java8新特性之接口默認方法示例詳解

這里可以看到,在實現 IMathOperation 接口時可以選擇實現(也可以不實現 ,在子類方法中直接使用)接口默認方法。

public class MathOperationImpl implements IMathOperation { @Override public int add(int a, int b) { // 子類中可以直接調用父類接口默認方法 IMathOperation.super.print(); // 調用父類靜態默認方法 IMathOperation.version(); return a+b; }}

多個默認方法情況

使用 Java8 開發應用程序是,子類實現多個接口時,對于接口默認方法定義可能會出現多個默認方法,并且接口默認方法可能會出現同名情況,此時對于子類在實現或者調用時通常遵循三條原則:

1、類中的方法優先級最高

2、如果第一條無法進行判斷,那么子接口的優先級更高:函數簽名相同時,優先選擇擁有最具體實現的默認方法的接口,即如果B繼承了A,那么B就比A更加具體

3、如果還是無法判斷,繼承了多個接口的類必須通過顯示覆蓋和調用期望的方法,顯示地選擇使用哪一個默認方法的實現

示例代碼如下:

/*** 定義手機接口 提供默認info方法*/public interface Phone { default void info(){ System.out.println('這是一部手機'); }}/*** 定義MiPhone子接口 并繼承 Phone 父接口 同時也提供info方法*/public interface MiPhone extends Phone{ default void info(){ System.out.println('這是一部小米手機'); }}/*** 實現 Phone MiPhone 接口*/public class M2sPhone implements Phone,MiPhone { public static void main(String[] args) { new M2sPhone().info(); }}打印結果: 這是一部小米手機

jdk8 已經發布很久了,而且毫無疑問,java8 是自 java5(2004年發布)之后的最重要的版本。其中包括語言、編譯器、庫、工具和 JVM 等諸多方面的新特性。

總結

到此這篇關于java8新特性之接口默認方法的文章就介紹到這了,更多相關java8新特性接口默認方法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 圆盘鞋底注塑机_连帮鞋底成型注塑机-温州天钢机械有限公司 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 实木家具_实木家具定制_全屋定制_美式家具_圣蒂斯堡官网 | 真丝围巾|真丝丝巾|羊绒围巾|围巾品牌|浙江越缇围巾厂家定制 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 北京康百特科技有限公司-分子蒸馏-短程分子蒸馏设备-实验室分子蒸馏设备 | 岛津二手液相色谱仪,岛津10A液相,安捷伦二手液相,安捷伦1100液相-杭州森尼欧科学仪器有限公司 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 柴油机_柴油发电机_厂家_品牌-江苏卡得城仕发动机有限公司 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 液氮罐_液氮容器_自增压液氮罐-北京君方科仪科技发展有限公司 | 消泡剂_水处理消泡剂_切削液消泡剂_涂料消泡剂_有机硅消泡剂_广州中万新材料生产厂家 | 风电变桨伺服驱动器-风电偏航变桨系统-深圳众城卓越科技有限公司 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | LOGO设计_品牌设计_VI设计 - 特创易 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 正压送风机-多叶送风口-板式排烟口-德州志诺通风设备 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 二氧化碳/活性炭投加系统,次氯酸钠发生器,紫外线消毒设备|广州新奥 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 大巴租车平台承接包车,通勤班车,巴士租赁业务 - 鸿鸣巴士 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 节流截止放空阀-不锈钢阀门-气动|电动截止阀-鸿华阀门有限公司 | 二手Sciex液质联用仪-岛津气质联用仪-二手安捷伦气质联用仪-上海隐智科学仪器有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 |