JDK8中接口的新特性
时间:2021-08-08
本文章向大家介绍JDK8中接口的新特性,主要包括JDK8中接口的新特性使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
JDK8中接口的新特性
Java8中,接口除了可以定义全局常量和抽象方法外还可以拥有静态方法和默认方法。
public interface CompareA {
//静态方法
public static void method1(){
System.out.println("CompareA:北京");
}
//默认方法
public default void method2(){
System.out.println("CompareA:上海");
}
public default void method3(){
System.out.println("CompareA");
}
}
规则
-
接口中定义的静态方法,只能通过接口来调用
public class SubClassTest { public static void main(String[] args) { SubClass s = new SubClass(); //s.method1(); 错误写法 CompareA.method1(); } } class SubClass implements CompareA{ }
-
通过实现类的对象,可以调用接口中的默认方法
-
如果实现类重写了接口中的默认方法,调用时仍然调用的是重写以后的方法
-
如果子类(实现类)继承的父类和实现的接口中声明了同名同参数的方法,则子类在没有重写此方法的情况下,默认调用的是父类中的方法。 类优先原则
class SubClass extends SuperClass implements CompareA{ } class SuperClass { public void method3(){ System.out.println("SuperClass"); } } new SubClass().method3() //结果为 SuperClass
-
如果实现类实现了多个接口,而多个接口中定义了同名同参数的默认方法,那么在实现类没有重写此方法的情况下会报错。 接口冲突
原文地址:https://www.cnblogs.com/hugeBlair/p/15115442.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何参与一个开源项目(多图)
- 微信小程序支付服务端.net core实现,简单直接
- PBE加密 .net 实现
- .net Core 图片验证码 基于SkiaSharp实现
- 解决git/github下载速度缓慢的问题总汇------转
- C语言程序框架注释的一种模板
- Kryo 入门指南
- C# 通过T4自动生成代码
- Netty 主从多线程
- 斐波那契数组-递归和循环实现
- KMP算法 C#实现 字符串查找简单实现
- elasticsearch压力测试工具之ESrally使用说明
- BitMap算法 .net实现 用于去重并且排序,适用于大型权限管理 ,大数据去重排序
- 5.FFMPEG-Qt移植ffmpeg、ffmpeg结构体介绍
- winform总结6=>线程和委托的关系