热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

Java带default方法接口的应用示例

这篇文章主要介绍了Java带default方法接口的应用,结合实例形式分析了java带default方法接口定义、用法及相关操作注意事项,需要的朋友可以参考下

本文实例讲述了Java带default方法接口的应用。分享给大家供大家参考,具体如下:

一 带default方法接口的实现

1 代码

interface InterfaceA               // 定义一个接口
{
  public static String INFO = "static final." ; // 全局常量
  public void print() ;            // 抽象方法
  default public void otherprint()       // 带方法体的默认方法
  {
    System.out.println("print default1 methods InterfaceA!");
  }
}
class subClass implements InterfaceA    //子类InterfaceAB实现接口InterfaceA
{
  public void print( )          //实现接口中的抽象方法print( )
  {
    System.out.println("print abstract methods InterfaceA!");
    System.out.println(INFO);
  }
}
public class Interfacedefault
{
  public static void main(String[ ] args)
  {
    subClass subObj = new subClass( );    //实例化子类对象
    subObj.print( );             //调用覆写过的抽象方法
    subObj.otherprint( );           //调用接口中的默认方法
    System.out.println(InterfaceA.INFO);   //输出接口中的常量
    InterfaceA InterfaceAobj = new subClass();    // 实例化子类对象,赋值给一个接口引用
    InterfaceAobj.print( );             //调用覆写过的抽象方法
    InterfaceAobj.otherprint( );           //调用接口中的默认方法
  }
}

2 运行

print abstract methods InterfaceA!
static final.
print default1 methods InterfaceA!
static final.
print abstract methods InterfaceA!
static final.
print default1 methods InterfaceA!

二 仅有default方法接口的使用

1 点睛

Java 8中,允许在一个接口中只定义默认方法,而没有一个抽象方法。

2 代码

interface InterfaceA           // 定义一个接口
{
  default public void otherprint( )   // 带方法体的默认方法
  {
    System.out.println("print default1 methods only in InterfaceA!");
  }
}
class subClass implements InterfaceA    //子类InterfaceAB实现接口InterfaceA
{
  //do nothing
}
public class InterfaceDefaultOnly
{
  public static void main(String[ ] args)
  {
    subClass subObj = new subClass( );  //实例化子类对象
    subObj.otherprint();          //调用接口中的默认方法
  }
}

3 运行

print default1 methods only in InterfaceA!

4 说明

由于接口InterfaceA中并无抽象方法,因此无抽象方法需要在子类中“实现”,所以子类subClass的主体部分什么也没有做,但这部分工作是必需的,因为接口是不能实例化对象的,即使子类subClass什么也没有做,其实也实现了一个功能,即由subClass可以实例化对象。

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


推荐阅读
  • 专注于模式识别与机器学习的研究生,对于该领域内的就业方向及具体职位要求有着浓厚的兴趣。本文将探讨智能图像/视频处理工程师的岗位要求,并为相关专业的学生提供学习建议。 ... [详细]
  • 5G时代的广域网革新:企业迈向万物智联的新起点
    随着2020年初“新基建”概念的提出,以5G、AI、IoT等为核心的新型基础设施建设正逐步改变企业的运营模式。本文探讨了在这一背景下,企业广域网(WAN)如何通过5G与SD-WAN技术的融合实现转型升级,成为推动企业智能化、数字化发展的关键力量。 ... [详细]
  • 深入理解Git与GitHub:分支管理与冲突解决
    本文详细探讨了Git中的分支管理技术,包括如何创建、切换和合并分支,以及如何有效解决分支合并时可能遇到的冲突。同时,文章还介绍了Git的基本原理,如哈希算法的应用和文件管理机制。 ... [详细]
  • 本章节深入讨论了线性光与感知均匀性的概念,强调了灰度图像中每个像素值如何反映视觉亮度的主观性质。文章进一步解析了亮度与光强度、辐射等物理量的区别,并探讨了这些概念在数字图像处理中的应用。 ... [详细]
  • 本文介绍了两种在MATLAB中用于识别和提取图像中封闭孔洞及其边界的高效方法。第一种方法通过图像填充和差分操作实现;第二种方法则基于Flood-Fill泛洪算法。 ... [详细]
  • 本文探讨了如何通过积累团队管理经验、促进团队成员的学习成长、建立公正的绩效考核体系以及明确奖惩机制来提升团队的整体效能。同时,文章还强调了领导者应具备的关键能力和如何通过团队成员的表现来评估领导者的管理水平。 ... [详细]
  • 多用户密码验证与加密登录系统
    本文介绍了一种基于多用户密码文件的加密登录方法,通过读取用户密码文件并使用简单的加密算法实现安全登录。文中详细描述了程序的设计思路及其实现过程。 ... [详细]
  • 本文通过一个经典问题——使用最少的老鼠在限定时间内找出含有毒药的瓶子,深入探讨了二分法的应用及其背后的逻辑原理。不仅展示了二分法在非传统排序问题中的有效应用,还扩展讨论了三分法的可能性与限制。 ... [详细]
  • 时序数据是指按时间顺序排列的数据集。通过时间轴上的数据点连接,可以构建多维度报表,揭示数据的趋势、规律及异常情况。 ... [详细]
  • 本文详细探讨了 HAProxy 的基本概念及其与 LVS(Linux Virtual Server)的比较,特别是在内核空间与用户空间的工作差异。文章还深入介绍了 HAProxy 独有的数据结构——弹性二叉树,以及其在高并发场景下的表现。 ... [详细]
  • 有向无环图(DAG)的两种拓扑排序方法详解
    本文介绍了有向无环图(DAG)的两种拓扑排序方法。第一种方法通过不断移除没有前驱的顶点来实现排序;第二种方法则利用深度优先搜索(DFS),记录每个节点的首次和最后访问时间,最终根据这些时间的逆序得到拓扑排序结果。 ... [详细]
  • [编程题] LeetCode上的Dynamic Programming(动态规划)类型的题目
    继上次把backTracking的题目做了一下之后:backTracking,我把LeetCode的动态规划的题目又做了一下,还有几道比较难的Medium的题和Hard的题没做出来,后面会继续 ... [详细]
  • 择要:Fundebug的JavaScript毛病监控插件同步支撑Vue.js异步毛病监控。Vue.js从降生至今已5年,尤大在本年2月份宣布了严重更新,即Vue2.6。更新包含新增 ... [详细]
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • 深入解析链表成环问题:剑指Offer第22天的新视角
    本文将详细介绍链表成环问题的多种解法,包括哈希表法、JSON.stringify特殊解法及双指针法,并提供详尽的代码示例。阅读本文,你不仅能够掌握这一经典算法问题的核心技巧,还能了解到更多编程思维的拓展。 ... [详细]
author-avatar
啲眼泪17
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有