jdk8和jdk9中接口的新特性

jdk8之前:声明抽象方法,修饰为public abstract。
jdk8:添加声明静态方法,默认方法。
jdk9:添加声明私有方法
jdk8:
①接口中声明的静态方法只能被接口来调用,不能使用其实现类进行调用
静态方法的声明:
public static void method1()//public可以省略
{
System.out.println("这是静态方法");
}
②接口中声明的默认方法可以被实现类继承,实现类在没有实现此方法的情况下, 默认调用接口中声明的默认方法。如果重写了此方法,则调用的是重写后的方法。
默认方法的声明:
public default void method2()//public可以省略
{
System.out.println("这是默认方法");
}
③如果类实现了两个接口,而两个方法中定义了同名同参数列表的默认方法。则实现类在没有重写此两个接口默认方法的情况下,会接口冲突。 要求:此时实现类必须要重写接口中定义的同名同参数的方法。
④子类(或实现类)继承了父类并实现了接口。父类和接口中声明了同名同参数的方法。(其中,接口中的方法是默认方法). 默认情况下,子类(实现类)在没有重写此方法的情况下,调用的是父类中的方法。 ---- 类优先原则
⑤如何在子类(实现类)中调用父类或接口中被重写的方法
method3();//调用自己类中的方法,省略了this.
super.method3();//调用父类中的方法
CompareA.super.method3();//调用接口CompareA中的默认方法
CompareB.super.method3();//调用接口CompareB中的默认方法
jdk9:
私有方法的声明:
private void method5()
{
System.out.println("这是接口中定义的私有方法");
}

接口中私有方法的用途,供接口中其他的默认方法调用。

相关推荐
奔跑吧邓邓子21 分钟前
【Java实战㉝】Spring Boot实战:从入门到自动配置的进阶之路
java·spring boot·实战·自动配置
ONLYOFFICE22 分钟前
【技术教程】如何将ONLYOFFICE文档集成到使用Spring Boot框架编写的Java Web应用程序中
java·spring boot·编辑器
叫我阿柒啊30 分钟前
Java全栈开发工程师的实战面试经历:从基础到微服务
java·微服务·typescript·vue·springboot·前端开发·后端开发
cyforkk1 小时前
Spring 异常处理器:从混乱到有序,优雅处理所有异常
java·后端·spring·mvc
生擒小朵拉1 小时前
STM32添加库函数
java·javascript·stm32
Z_z在努力1 小时前
【杂类】Spring 自动装配原理
java·spring·mybatis
小小菜鸡ing1 小时前
pymysql
java·服务器·数据库
getapi2 小时前
shareId 的产生与传递链路
java
我没想到原来他们都是一堆坏人2 小时前
(未完待续...)如何编写一个用于构建python web项目镜像的dockerfile文件
java·前端·python
沙二原住民3 小时前
提升数据库性能的秘密武器:深入解析慢查询、连接池与Druid监控
java·数据库·oracle