Java接口中的default(默认方法)

这篇具有很好参考价值的文章主要介绍了Java接口中的default(默认方法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Java的接口中有一种特殊的方法,叫做默认方法。


接口中的默认方法有以下特点:

  • default方法可以有方法体
  • 接口中的普通方法必须被实现类重写;默认方法可以不被实现类重写。

    这个特点在实践中的具体作用是:

        当我们进行业务扩展时,需要在接口中新增方法。如果新增的这个方法写成普通方法的话,那么需要在该接口所有的实现类中都重写这个方法。如果新增的方法定义为default类型,就不需要在所有的实现类中全部重写该default方法,哪个实现类需要新增该方法,就在哪个实现类中进行实现。


但是,需要注意在什么情况下,default的使用会受限

  • 如果一个实现类只实现了一个接口,那么可以不用重写接口中的默认方法

  • 如果一个实现类实现了多个接口,并且这些接口中有两个接口的默认方法是一样的,那么就必须在实现类中重写默认方法


  • 默认方法可以通过接口的实现对象直接调用,也可以被接口的实现类重写文章来源地址https://www.toymoban.com/news/detail-679467.html

到了这里,关于Java接口中的default(默认方法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在Java中使用继承和多态?什么是Java中的接口,如何创建它们?

    在Java中,继承和多态是面向对象编程中最基本的概念之一。继承是指一个类可以从另一个类继承属性和方法。子类可以重写父类的方法,或者添加新的方法和属性。继承可以减少代码的重复,提高代码的可读性和可维护性。在Java中,使用“extends”可以实现继承。 下面

    2024年02月02日
    浏览(53)
  • 【Java高级语法】(十六)方法引用:掌握Java中的方法引用,简化代码的实用指南~

    方法引用是Java编程语言中的一个重要特性,它首次出现在Java 8版本中。这一特性旨在简化函数式编程中使用Lambda表达式的代码,使代码更加清晰、简洁。 方法引用是通过名称引用一个现有的方法来代替Lambda表达式的一种方式 。它允许将方法本身作为一个对象传递或存储,并

    2024年02月16日
    浏览(40)
  • 服务器卡顿、CPU飙升、接口负载剧增,如何定位到Java代码?

    🏆本文收录于,Java基础教程(进阶篇)。 目前已经800+订阅,CSDN最强Java专栏,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例,理论结合实战,实现Java的轻松学习。 解决这个问题的关键是要找到Java代码的位置。下面分享一下排查思路,以CentOS为例

    2024年02月11日
    浏览(44)
  • Repo manifests默认default.xml清单文件中的各个标签详解

    Repo简介 “Repo” 是一个用于管理多个Git存储库的工具,通常与Google的Android开发项目一起使用。它允许您在一个命令下轻松地进行多个Git存储库的同步、下载和管理。 repo下载安装 从清华镜像源下载 其实下载下来的repo文件只是一个使用Python编写的引导脚本(Google 称之为 Rep

    2024年02月11日
    浏览(39)
  • java中接口多个实现类,如何指定实现类,根据子类类型选择实现方法

    在Java代码中,经常会遇到一个接口有多个实现的情况。而这些实现类的参数又是不同的子类,这时候我们该如何选择正确的实现方法呢? 我们可以通过判断参数的子类类型来选择正确的实现方法。具体实现可以使用Java中的instanceof,它可以判断一个对象是否是某个类的

    2024年02月12日
    浏览(35)
  • Java源代码是如何编译,加载到内存中的?

    相信许多开发同学看过《深入理解java虚拟机》,也阅读过java虚拟机规范,书籍和文档给人的感觉不够直观,本文从一个简单的例子来看看jvm是如何工作的吧。 本文所有操作均在mac上进行。 示例代码采用最常见的双重检索单例模式: 经过编译后,我们得到class文件,然后用

    2024年02月13日
    浏览(37)
  • 如何使用PMD插件检测Java代码中的潜在问题?

    当今的软件开发需要使用许多不同的工具和技术来确保代码质量和稳定性。PMD是一个流行的静态代码分析工具,可以帮助开发者在编译代码之前发现潜在的问题。在本文中,我们将讨论如何在Gradle中使用PMD,并介绍一些最佳实践。 PMD是一个用于Java代码的静态代码分析工具。

    2023年04月10日
    浏览(86)
  • 提高代码封装性的好习惯:Java中的get和set方法

    在Java中,get和set方法是用于访问对象的私有属性的一种常见方法。通常情况下,属性被声明为私有的,以防止其他类直接访问该属性,而是通过get和set方法来访问。本篇博客将介绍Java中的get和set方法,它们的作用以及如何使用它们。 get方法用于获取对象的私有属性值,并返

    2024年02月03日
    浏览(40)
  • 如何优雅地单元测试 Kotlin/Java 中的 private 方法?

    翻译自 https://medium.com/mindorks/how-to-unit-test-private-methods-in-java-and-kotlin-d3cae49dccd ❓如何单元测试 Kotlin/Java 中的 private 方法❓ 首先,开发者应该测试代码里的 private 私有方法吗? 直接信任这些私有方法,测试到调用它们的公开方法感觉就够了吧。 对于这个争论,每个开发者都会

    2024年02月06日
    浏览(38)
  • ElasticSearch如何使用以及java代码如何查询并排序ES中的数据(距离排序)

    import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.geo.GeoDistance; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.common.unit.DistanceUnit; import org.elasticsearch.common.unit.

    2024年04月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包