java8新特性学习-------Optional的相关操作 & 接口中的默认方法,静态方法
2020-01-15 11:38
841 查看
Optional 容器的常用方法
- Optional.of(T t) :: 创建一个 Optional 实例
- Optional.empty :: (创建一个空的 Optional 实例)
- Optional.ofNullLable(T t) :: 若t 不为 null ,创建 Optional 实例,否则创建空实例
- isPresent() :: 判断是否包含值
- orElse(T t) :: 如果调用对象包含值,返回该值,否则返回 t
- orElseGet(Supplier s) :: 如果调用对象包含值,则返回该值,否则返回s 中获取的值
- map(Function f) :: 如果有值对其处理,并返回处理后的 Optional ,否则返回 Optional.empty()
- flatMap(Function mapper) :: 与 map 类似,要求返回值必须是 Optional
接口中的默认方法静态方法
java8 中允许接口中有已经实现的默认方法,用 default 实现
接口 A
public interface A { default String show() { return "A Method"; } }
接口 B
public interface B { default String show() { return "B method"; } }
类ClassC
public class ClassC { public String show() { return "I am ClassC"; } }
测试:
1. 继承 一个类 实现一个接口
类优先 原则
public class MyFunDeno extends ClassC implements A{ @Test public void test() { MyFunDeno mf = new MyFunDeno(); System.out.println(mf.show()); } }
2. 继承一个类 实现两个接口
public class MyFunDeno extends ClassC implements A,B{ @Test public void test() { MyFunDeno mf = new MyFunDeno(); System.out.println(mf.show()); } } 也是 **类优先** 同上
- 实现两个接口
public class MyFunDeno implements A,B{ @Test public void test() { MyFunDeno mf = new MyFunDeno(); System.out.println(mf.show()); } @Override public String show() { // 重写 A 方法 return A.super.show(); } }
则需要重写方法(明确重写的是那个)
接口中的静态方法
public interface A { default String show() { return "A Method"; } public static void groan() { System.out.println("wow~"); } }
调用 :接口名.静态方法名
@Test public void test2() { A.groan(); }
附图:(来自尚硅谷学习视频)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Java8新特性Optional、接口中的默认方法与静态方法
- Java8新特性Optional、接口中的默认方法与静态方法
- Java8中新特性Optional、接口中默认方法和静态方法详解
- Java8学习笔记 — 其它新特性【接口默认方法(静态方法)、重复注解、类型注解】
- Java8新特性之接口的默认方法和静态方法
- Java8新特性之接口的默认方法和静态方法
- Java8新特性-接口中的静态方法与默认方法
- Java8新特性总结 - 1.接口新增默认方法和静态方法
- java8新特性——接口中的静态方法与默认方法
- Java8特性之接口的默认方法与静态方法
- java8新特性接口的默认方法和静态方法
- Java8新特性 接口默认方法,接口静态方法
- java8新特性——接口中的静态方法与默认方法
- JDK1.8新特性学习之接口中的静态方法与默认方法(三)
- Java8 新特性之二---------接口的默认方法和静态方法
- 30分钟入门Java8之默认方法和静态接口方法学习
- Java8新特性之接口中的默认方法与静态方法
- java8-新特性--(接口的默认方法与静态方法)
- Java 8 新特性:接口的静态方法和默认方法
- java8新特性之接口默认方法&静态方法