Java接口 - jdk8、9新增特性

431 阅读1分钟

jdk1.8之前

在我们初学Java的时候,我们被这样告知:

  • 接口中只能存在全局常量和抽象方法
  • 接口不允许有方法实现(因为方法只能是抽象的)
  • 接口不能有静态方法

当我们阅读源码的时候,我们会惊奇的发现接口中竟然可以存在方法实现和静态方法了。这是因为jdk1.8为接口增加了新特性。

jdk1.8

dk1.8为接口增加了新特性:

  • default: 被default修饰的方法可以存在方法实现。即我们可以利用default关键字在java接口中声明普通的方法
  • static: jdk1.8后,接口可以存在静态方法了

要注意的是:jdk1.8规定了接口的所有成员必须是公共的

jdk1.9

  • jdk1.9规定了接口中可以存在私有静态方法,但是静态字段和静态成员类仍然需要是公共的。