gdb 扩展 默认参数_默认方法一种扩展旧代码的方法

gdb 扩展 默认参数

如您所知,Java的新版本已于2014年3月18日发布,我将介绍一系列文章来演示其新功能,也许在某些方面,我将谈论我的想法和批评。

我认为重要的第一个功能是“默认方法”,在所有Java语言的先前版本中,接口只能包含方法定义(声明)而不是方法实现(方法体),但是在Java 8中,接口中增加了一个新功能,使您能够在接口中声明方法及其实现。

假设您可以使用以下新功能创建一个界面:

public interface Dog {void bark();default void bite() {System.out.println("Biting Biting Biting");}
}public class Husky implements Dog {@Overridepublic void bark() {System.out.println("barking");}public static void main(String... args){Dog dog = new Husky();dog.bite();dog.bark();}
}

这是完全自我解释的,您可以将行为添加到接口中,并且所有已实现的类都将这种行为作为方法的默认实现,因此不会被迫实现默认方法。

默认方法的原因

在之前的一篇文章中,我们对Open Close Principal进行了介绍,正如对此主体类的复习应该关闭并进行扩展一样。 我认为默认方法并不遵循该原则,但是有些地方也许我们没有任何解决方案来扩展我们的旧代码。

例如,在Java 8中,语言中增加了一个新功能,可以在集合上使用lambda,可以使用此方法的一种方法是调用Collection接口的stream方法,如果这只是一个方法声明,则说明实现了Collection的所有书面代码会休息的。

有时候,对于我来说,它需要扩展我的界面,但是由于许多其他客户端正在使用界面,我不得不寻找另一种解决方案,不幸的是,在大多数情况下,这是一种混乱的方式。

关于默认方法的几点

当您要使用默认方法或要使用使用默认方法的代码时,应了解一些要点。

    • 扩展包含默认方法的接口:
      当您想使用默认方法扩展或实现接口时,关于默认方法有三种选择。
      • 您可以使用它们的默认实现,而忽略以重新定义它们。
      • 您可以重新声明它,因此它将是一种抽象方法。
      • 您可以通过重新定义它来覆盖它。
    • 使用默认方法的多重继承:使用默认方法,您可以拥有具有许多接口的mixin行为的类,但是您应该注意一个重要的点。
      如果扩展接口具有公共方法签名,则您 将面临编译时错误 ,因为同一方法签名的两个实现之间存在歧义,在这种情况下,您将需要重写方法并通过自己的代码来实现或选择默认方法之一。
public interface FirstInterface {default void doSomething(){System.out.println("Doing something from FirstInterface");}}public interface SecondInterface {default  void doSomething(){System.out.println("Doing something from SecondInterface");}
}public class FirstImplementation implements SecondInterface,FirstInterface {@Overridepublic void doSomething(){SecondInterface.super.doSomething();}public static void main(String... args){System.out.println("GGG");new FirstImplementation().doSomething();}
}

翻译自: https://www.javacodegeeks.com/2014/03/default-methods-an-approach-to-extend-legacy-code.html

gdb 扩展 默认参数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[渝粤教育] 辽宁对外经贸学院 国际集装箱多式联运 参考 资料

教育 -国际集装箱多式联运-章节资料考试资料-辽宁对外经贸学院【】 第一章单元测试 1、【单选题】下列哪一项不是集装箱运输的特点 A、可以实现“门到门”运输 B、只需少量投资 C、适合组织多式联运 D、运输效率高 参考资料【 】 2、【单选题】集装箱运输的发展经历了萌芽期、&…

[渝粤教育] 郑州工程技术学院 食品微生物学 参考 资料

教育 -食品微生物学-章节资料考试资料-郑州工程技术学院【】 微生物的类群随堂测验 1、【单选题】下列哪种生物属于微生物? A、草履虫 B、线虫 C、蛔虫 D、螨虫 参考资料【 】 2、【单选题】普通光学显微镜观察不到下列哪种微生物? A、变形虫 B、啤酒酵母 C、噬菌体…

光端机与光纤收发器的区别

光端机是目前常用的一种信号收发设备,很多对此不是很了解的人往往会将其与传统的光纤收发器搞混,但是这其中还是有很大的区别,我们首先得搞懂光端机以及光纤收发器的定义,再来区分二者之间有什么不同之处。接下来飞畅科技小编就来…

[渝粤教育] 郑州轻工业大学 马克思主义基本原理概论 参考 资料

教育 -马克思主义基本原理概论-章节资料考试资料-郑州轻工业大学【】 导论 测验 1、【单选题】下面各项,不是马克思主义的基本组成部分的是 ( ) A、马克思主义哲学 B、马克思主义政治经济学 C、社会学 D、科学社会主义 参考资料【 】 2、【单选题】标志着马克思主义…

[渝粤教育] 长安大学 互换性与技术测量 参考 资料

教育 -互换性与技术测量-章节资料考试资料-长安大学【】 第一章作业 综合测试 1、【单选题】 本课程的研究对象是下列哪一选项? A、机械的运动设计 B、机械结构设计 C、机械的精度设计 D、机械系统设计 参考资料【 】 2、【单选题】 国家强制执行的标准代号是哪一个…

光端机与光纤收发器的应用

光端机目前是一种很常用的信号收发设备,相信有很多人会将其与传统的光纤收发器搞混,但是这其中还是有很大的区别的,接下来就让小编带大家来详细了解下视频光端机与光纤收发器的区别有哪些? 光端机与光纤收发器的区别:…

[渝粤教育] 首都师范大学 走进舞蹈艺术 参考 资料

教育 -走进舞蹈艺术-章节资料考试资料-首都师范大学【】 自然状态的萌动 1、【判断题】人类的舞蹈能力是与生俱来的吗? A、正确 B、错误 参考资料【 】 情感语言的开启 1、【填空题】人类最初通过 语言传递情感。 A、 参考资料【 】 舞蹈起源的学说 1、【判断题】劳…

光端机与交换机有什么区别?

现在,随着各种通信网络技术的不断突破,光端机和交换机在网络应用中是非常的广泛,很多朋友可能听说过光端机跟交换机,但是对于具体的详情可能了解的不是很清楚,往往区分不了什么是光端机,什么是交换机&#…

【渝粤教育】国家开放大学2018年秋季 0108-22T中央银行理论与实务 参考试题

试卷编号:0149 座位号 2018——2019学年度第一学期期末考试 现代汉语试题 2019年1月 1.新词 2.北方方言3.形旁4.定位语素 1.声母z和zh的区别是________不同。 2._____的影响和官话的推广&…

java lambda使用_使用Java 8和Lambda简化ReadWriteLock

java lambda使用考虑到旧版Java代码,无论您在哪里看,带有lambda表达式的Java 8绝对可以提高质量和可读性。 今天,让我们看一下ReadWriteLock以及如何使它使用起来更简单。 假设我们有一个称为Buffer的类,它可以记住队列中的最后几…

【渝粤教育】国家开放大学2018年秋季 0692-22T化工设备机械基础 参考试题

试卷代码:0699 2018-2019学年第1学期期末考试 阅读与写作 (闭卷) 2019年1月 一、阅读以下文章,并回答问题。(共40分) 雁南飞 胡 同 ①春天来了,小燕子乘着南风伴着细雨再一次回到了北方的那个屋檐下。看着它们忙忙碌…

光端机常见问题介绍

光端机在视频监控中的应用可以说是非常广泛,但是我们在调试安装的过程当中常常容易出现三类问题:一、电信号不能正常接收;二、电源正常但是不能正常工作;三、视频正常但反向数据有问题。接下来就由飞畅科技的小编来为大家详细介绍…

【渝粤教育】国家开放大学2018年秋季 1126t社会医学 参考试题

试卷代号:1134 行政管理学(本) 试题答案及评分标准 (供参考) 2019年1月 一、单项选择题(每小题1分,共10分,每小题只有一项答案正确,请将正确答案的序号填在括号内&#x…

节点式光端机与点对点式光端机的区别

对光端机这块了解的朋友应该都知道,以前老式的光端机是有分点对点式光端机与节点式光端机的。而现在光端机,可组成SDH环网、星形网、树形网、点对点、点对多点等多种组网方式。接下来飞畅科技就来为大家详细介绍下节点光端机与点对点光端机之间的区别&am…

【渝粤教育】国家开放大学2018年秋季 1344T金融风险管理 参考试题

科目编号:1358 座位号 2018-2019学年度第一学期期末考试 民族理论与民族政策 试题 2019年 1月 填空题(每空2分,共16分) 1.一般来说,民族在历史渊源、生产方式、语言、文化、、方面具有共同的特征。 2.现阶段民族工作…

【渝粤教育】国家开放大学2018年秋季 2196T社会调查研究与方法 参考试题

试卷代号:2219 房屋构造与维护管理 试题(开卷) 2019年1月 一、选择题(20题,每题3分,共60分) 1.如下图所示,形体的W面投影是( )。 2.关于剖面图和断面图&…

关于模拟量转光纤的不同实现方法与区别

模拟量/光纤转换器是杭州飞畅科技专门为解决复杂电磁环境下的模拟量信号传输而设计的一款工业级光纤通信传输设备。使用该设备可有效解决复杂电磁环境下(如大量使用变频器、变压器、整流器等非线性设备的工业现场)电磁干扰、地环干扰和雷电破坏等EMI导致…

Java Enterprise软件与应有的软件

许多开发人员在其职业生涯的某个阶段最终进入了Java“企业”世界。 我知道这个词会引起各种React,这是正确的。 通常,存在许多有趣的技术挑战的环境最终会成为那些没人愿意从事的环境,因为它们脆弱,难以处理且没有乐趣。 大型项目…

【渝粤教育】国家开放大学2018年秋季 3819-21T燃气安全管理 参考试题

试卷代号:3922 汽车运用基础 试题答案及评分标准 (供参考) 2019年1月 一、单项选择题(下列各题的备选答案中,只有一个选项是正确的,请把正确答案的序号填写在括号内。15小题,每小题2分&#xf…

模拟视频光端机与数字光端机究竟有何区别

模拟光端机采用了PFM调制技术实时传输图象信号,发射端将模拟视频信号先进行PFM调制后,再进行电-光转换,光信号传到接收端后,进行光电转换,然后进行PFM解调,恢复出视频信号。数字光端机是一种通过数字电路控…