目录:
第一篇:初探 java8 第 01 篇( Lambda与Stream API初识 )
第二篇:深入 java8 第 02 篇( Lambda表达式基础语法 )
第三篇:深入 java8 第 03 篇( 函数式接口,常见的4个函数式接口 )
第四篇:深入 java8 第 04 篇( 方法引用与构造器引用 )
第五篇:深入 java8 第 05 篇( Stream API 的操作->创建及中间操作 )
第六篇:深入 java8 第 06 篇( Stream API 的操作->终止操作 )
第七篇:深入 java8 第 07 篇( Stream API 的操作->规约、收集 )
第八篇:深入 java8 第 08 篇( Stream API 的综合练习 )
第九篇:深入 java8 第 09 篇( Fork/Join 框架的使用及其优势 )
第十篇:深入 java8 第 10 篇( 时间新特新 -> DateTimeFormatter 解析与格式化 )
第十一篇:深入 java8 第 11 篇( 带时区的时间或日期)
第十二篇:深入 java8 第 12 篇(接口中的默认方法与静态方法 )
第十三篇:深入 java8 第 13 篇( 其他新特性 -> Optional 类/重复注解与类型注解 )
深入 java8 第 12.1 ( 接口中的默认方法与静态方法 -> 接口中的默认方法)
Java 8中允许接口中包含具有具体实现的方法,该方法称为“默认方法”,默认方法使用 default 关键字修饰。
接口默认方法的 ” 类优先 ” 原则:
若一个接口中定义了一个默认方法,而另外一个父类或接口中又定义了一个同名的方法时
选择父类中的方法:如果一个父类提供了具体的实现,那么接口中具有相同名称和参数的默认方法会被忽略。
接口冲突:如果一个父接口提供一个默认方法,而另一个接口也提供了一个具有相同名称和参数列表的方法(不管方法是否是默认方法),那么必须覆盖该方法来解决冲突
在java8中,可以在接口中定义默认方法:
public interface Interface01 {
default Integer getOperation(int num01,int num02){
return num01 + num02;
}
}
选择父类中的方法
@Test
public void test01(){
CommInterface01 cin = new CommInterface01();
System.out.println(cin.getOperation(5, 2));
}
接口冲突
@Test
public void test02(){
CommInterface02 cin2 = new CommInterface02();
System.out.println(cin2.getOperation(3, 4));
}
深入 java8 第 12.2 ( 接口中的默认方法与静态方法 -> 接口中的静态方法)
在java8中,可以在接口中定义静态方法:
public interface Interfaces {
public static void print(){
System.out.println("hello world");
}
}
@Test
public void test01(){
Interfaces.print();
}
源码下载地址:https://download.youkuaiyun.com/download/hello_world_qwp/10401249
返回首页:https://blog.youkuaiyun.com/Hello_World_QWP/article/details/80245129