Java8新特性 - 默认方法

Posted WinterAndRain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java8新特性 - 默认方法相关的知识,希望对你有一定的参考价值。

是什么?

  就是接口可以有一个默认的实现方法,而且不需要用实现类去实现其方法。

 

怎么使用?

  在方法前加default,静态方法直接写默认实现

 

 1 /**
 2  * 默认方法
 3  */
 4 public class DefaultMethod {
 5     public static void main(String[] args) {
 6         VO vo = new VO();
 7         vo.doSome();
 8         VO.doSomeTwo();
 9     }
10 }
11 
12 interface Operate {
13     default void doSome() {
14         System.out.println("原始版本");
15     }
16 
17     static void doSomeTwo() {
18         System.out.println("抽象原始版本");
19     }
20 }
21 
22 class DB implements Operate {
23 
24     @Override
25     public void doSome() {
26         System.out.println("第一次重写的版本");
27         Operate.super.doSome();
28     }
29 
30     public static void doSomeTwo() {
31         System.out.println("第一次重写的抽象版本");
32         Operate.doSomeTwo();
33     }
34 }
35 
36 class VO extends DB {
37 
38     @Override
39     public void doSome() {
40         System.out.println("第二次重写的版本");
41         DB db = new DB();
42         db.doSome();
43     }
44 
45     public static void doSomeTwo() {
46         System.out.println("第二次重写的抽象版本");
47         DB.doSomeTwo();
48     }
49 
50 }

 

有什么好处?

  防止修改接口时,实现改接口的类需要全部修改

 

以上是关于Java8新特性 - 默认方法的主要内容,如果未能解决你的问题,请参考以下文章

java8新特性四-默认方法

Java8新特性——接口默认方法

java8新特性总结

Java8新特性 - 默认方法

java8 新特性2-接口中的默认方法和静态方法

java8-新特性--(接口的默认方法与静态方法)