标签:void ring 一个 class 使用 静态 好处 default ace
是什么?
就是接口可以有一个默认的实现方法,而且不需要用实现类去实现其方法。
怎么使用?
在方法前加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 }
有什么好处?
防止修改接口时,实现改接口的类需要全部修改
标签:void ring 一个 class 使用 静态 好处 default ace
原文地址:https://www.cnblogs.com/WINTER-KING/p/11689413.html