03.JDK8-接口增强

75 阅读1分钟

接口增强

1.介绍

在JDK8中,对于接口增强了,接口除了有抽象方法以外,还可以定义默认方法和静态方法

2.JDK8前后接口对比

8以前的接口

public interface 接口名 {
	静态常量;
	抽象方法:
}

8之后的接口

public interface 接口名 {
	静态常量;
	抽象方法:
	默认方法;
	静态方法;
}

3.默认方法

没有默认方法的问题

  • 如果给接口新增抽象方法,所有实现类都必须重写这个抽象方法。不利于接口的扩展
  • 接口中的默认方法实现类不必重写,可以直接使用,实现类也可以根据需要重写。这样就方便接口的扩展

默认方法的定义格式

interface 接口名 { 
    修饰符 default 返回值类型 方法名() { 
        代码; 
    } 
}

接口默认方法的使用

  1. 实现类直接调用接口默认方法
  2. 实现类重写接口默认方法

4.静态方法

介绍

为了方便接口扩展,JDK 8为接口新增了静态方法

静态方法的定义格式

interface 接口名 { 
    修饰符 static 返回值类型 方法名() { 
        代码; 
    } 
}

静态方法的使用

直接使用接口名调用即可:接口名.静态方法名();

5.默认方法和静态方法的区别

  1. 默认方法通过实例调用,静态方法通过接口名调用
  2. 默认方法可以被继承,实现类可以直接使用接口默认方法,也可以重写接口默认方法
  3. 静态方法不能被继承,实现类不能重写接口静态方法,只能使用接口名调用