java基础学习 day49(JDK8的接口新特性,JDK9的新特性,接口的应用场景)

news2024/11/14 13:47:16
  1. JDK8以后,接口中新增的默认方法
  • 允许在接口中定义默认方法,需要使用关键字default修饰,作用为,解决接口升级时,需要强制修改所有实现类的问题
  • 接口中默认方法的定义格式:
    a. 格式:
    public default 返回值类型 方法名 (参数列表){ }
    b. 范例:
    public default void show ( ) { }
  • 接口中默认方法的注意事项:
    a. 默认方法不是抽象方法,所以不强制被重写(不重写,也能通过实现类的对象来使用这个默认方法),但是如果被重写,重写的时候需要去掉default关键字
    b. public可以省略(虚拟机会自动加上),default不能省略
    c. 如果实现了多个接口,多个接口中存在相同名字的默认方法,子类就必须对该方法进行重写
  1. JDK8以后,接口中新增的静态方法
  • 允许在接口中定义静态方法,需要使用static修饰
  • 接口中静态方法的定义格式:
    a. 格式:
    public static 返回值类型 方法名( 参数列表 ) { }
    b. 范例:
    public static void show () { }
  • 接口中静态方法的注意事项:
    a. 静态方法只能通过接口名调用,不能通过实现类名或者对象名调用
    b. public可以省略,static不能省略
    c. 静态方法不能被重写
  1. JDK9以后,接口中新增的私有方法
  • 此方法只为接口提供服务,不需要外类访问,所以定义为私有
  • 接口中私有方法的定义格式:
    a. 给默认方法服务的:
    private 返回值类型 方法名 (参数列表) { }
    范例:private void show () { }
    b. 给static静态方法服务的:
    private static 返回值类型 方法名 (参数列表) { }
    范例:private static void method () { }
  1. 接口的应用场景
  • 接口作为一种规则,是行为的抽象。想让哪个类拥有某个规则,或某个行为,就让这个类实现对应的接口就可以了
  • 当一个方法的参数是接口时,可以传递接口的所有实现类的对象,这种方法称之为接口多态,如图:
    在这里插入图片描述a. 遵守编译看左边,运行看右边的原则

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

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

相关文章

【黄河流域公安院校网络空间安全技能挑战赛】部分wp

文章目录webbabyPHPfunnyPHPEzphp**遍历文件目录的类**1、DirectoryIterator&#xff1a;2、FilesystemIterator:3、**Globlterator**读取文件内容的类&#xff1a;SplFileObjectMisc套娃web babyPHP <?php highlight_file(__FILE__); error_reporting(0);$num $_GET[nu…

排序模型:DIN、DINE、DSIN

目录 DIN 输入 输出&#xff1a; 与transformer注意力机制的区别与联系&#xff1a; DINE 改善DIN 输入&#xff1a; DSIN 动机&#xff1a; DIN 适用与精排&#xff0c;论文&#xff1a; Deep Interest Network for Click-Through Rate Prediction DIN模型提出的动…

蓝桥web基础知识学习

HTMLCSS 知识点重要指数HTML 基础标签&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;HTML5 新特性&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;HTML5 本地存储&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;CSS 基础语法…

Java中方法引用(引用静态方法、引用成员方法(引用其他类的成员方法、引用本类的成员方法、引用父类的成员方法)、引用构造方法、其他调用方式、小练习)

方法引用&#xff1a;把已经存在的方法拿过来用&#xff0c;当作函数式接口中抽象方法的方法体 我们前面学到Arrays工具类中的sort方法&#xff0c;当我们需要指定排序规则时&#xff0c;需要传递Comparator接口的实现类对象&#xff0c;我们之前使用匿名内部类类的形式作为参…

下一个元宇宙热点?探讨元宇宙婚礼的未来趋势

欢迎来到Hubbleverse &#x1f30d; 关注我们 关注宇宙新鲜事 &#x1f4cc; 预计阅读时长&#xff1a;7分钟 本文仅代表作者个人观点&#xff0c;不代表平台意见&#xff0c;不构成投资建议。 专家认为&#xff0c;在不久的将来&#xff0c;传统婚礼和元宇宙婚礼有可能共存…

taobao.item.barcode.update( 更新商品条形码信息 )

&#xffe5;免费必须用户授权 通过该接口&#xff0c;将商品以及SKU上得条形码信息补全 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 请求参数 响应参数 点击获取key和secret 请求示例 TaobaoClient client new Def…

【Spring】资源操作管理:Resource、ResourceLoader、ResourceLoaderAware;

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 资源操作&#xff1a;Spring Resources一、Res…

智能家居创意产品一Homkit智能通断器

智能通断器&#xff0c;也叫开关模块&#xff0c;可以非常方便地接入家中原有开关、插座、灯具、电器的线路中&#xff0c;通过手机App或者语音即可控制电路通断&#xff0c;轻松实现原有家居设备的智能化改造。 随着智能家居概念的普及&#xff0c;越来越多的人想将自己的家改…

Pytest自动化测试框架-权威教程06-使用Marks标记测试用例

使用Marks标记测试用例通过使用pytest.mark你可以轻松地在测试用例上设置元数据。例如, 一些常用的内置标记&#xff1a;skip - 始终跳过该测试用例skipif - 遇到特定情况跳过该测试用例xfail - 遇到特定情况,产生一个“期望失败”输出parametrize - 在同一个测试用例上运行多次…

自旋锁,读写锁以及他们的异同

自旋锁 自旋锁是一种用于多线程编程的同步机制。它是一种基于忙等待的锁&#xff0c;当线程尝试获取锁时&#xff0c;如果锁已被其他线程占用&#xff0c;则该线程会一直循环检查锁是否被释放&#xff0c;直到获取到锁为止。 在自旋锁的实现中&#xff0c;使用了CPU的硬件特性…

ArcGIS制图之阴影效果的表达与运用

一、运用制图表达进行投影表达 在专题图的制作过程中&#xff0c;经常需要将目标区域从底图中进行突显&#xff0c;运用制图表达制作图层投影可以较好地实现这一目的。具体步骤如下&#xff1a; 1.将目标图层存储于数据库中并加载至窗口&#xff08;shapefile格式数据无法支持…

Android Looper简介

本文基于安卓11。 Looper是一个用具&#xff0c;在安卓程序中&#xff0c;UI线程是由事件驱动的&#xff08;onCreate, onResume, onDestory&#xff09;&#xff0c;Looper就是处理这些事件的工具&#xff0c;事件被描述为消息&#xff08;Message&#xff09;&#xff0c;Lo…

【PHP代码注入】PHP代码注入漏洞

漏洞原理RCE为两种漏洞的缩写&#xff0c;分别为Remote Command/Code Execute&#xff0c;远程命令/代码执行PHP代码注入也叫PHP代码执行(Code Execute)(Web方面)&#xff0c;是指应用程序过滤不严&#xff0c;用户可以通过HTTP请求将代码注入到应用中执行。代码注入(代码执行)…

python甜橙歌曲音乐网站平台源码

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;python音乐 获取完整源码源文件说明文档配置教程等 在虚拟环境下输入命令“python manage.py runserver”启动项目&#xff0c;启动成功后&#xff0c;访问“http://127.0.0.1:5000”进入甜橙音乐网首页&#xff0c;如图1所…

YOLOS调试记录

YOLOS是由华中科大提出的将Transformer迁移到计算机视觉领域的目标检测方法&#xff0c;其直接魔改ViT&#xff01;本文首次证明&#xff0c;通过将一系列固定大小的非重叠图像块作为输入&#xff0c;可以以纯序列到序列的方式实现2D目标检测。 模型结构 下面来调试一下该项目…

【微信小程序】-- 页面事件 - 上拉触底 - 案例(二十七)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

javaScript基础面试题 ---对象考点

1、对象是通过new操作符构建出来的&#xff0c;所以对象之间不相等 2、对象注意引用类型&#xff0c;如果是引用类型&#xff0c;就可能会相等 3、现在对象本身查找 -> 构造函数中找 -> 对象原型中找 -> 构造函数原型中找 -> 对象上一层原型… 1、对象是通过new操作…

被骗进一个很隐蔽的外包公司,入职一个月才发现,已经有了社保记录,简历污了,以后面试有影响吗?...

职场的套路防不胜防&#xff0c;一不留神就会掉坑&#xff0c;一位网友就被“骗”进了外包公司&#xff0c;他说公司非常隐蔽&#xff0c;入职一个月才发现是外包&#xff0c;但已经有了社保记录&#xff0c;简历污了&#xff0c;不知道对以后面试有影响吗&#xff1f;楼主说&a…

Mysql迁移Postgresql

目录原理环境准备操作系统(Centos7)Mysql客户端安装Psql客户端安装数据库用户导表脚本dbmysql2pgmysqlcopy测试在mysql中建表导表测试查看pg中的表原理 Mysql抽取&#xff1a;mysql命令重定向到操作系统文件&#xff0c;处理成csv文件&#xff1b; PG装载&#xff1a;copy方式…

【大数据源码】Hadoop源码解读 Namenode 启动加载FsImage的过程

Namenode 启动前言启动 Namenode 组件启动脚本Namenode.initializeFSNamesystem.loadFromDiskFsImage.recoverTransitionReadFSImageFormat.loadFSImageFormatProtobuf.load反序列化加载FsImage文件内容FsImage内存数据结构前言 NameNode是HDFS中负责元数据管理的组件&#xf…