jdk1.8之前
在我们初学Java的时候,我们被这样告知:
- 接口中只能存在全局常量和抽象方法
- 接口不允许有方法实现(因为方法只能是抽象的)
- 接口不能有静态方法
当我们阅读源码的时候,我们会惊奇的发现接口中竟然可以存在方法实现和静态方法了。这是因为jdk1.8为接口增加了新特性。
jdk1.8
dk1.8为接口增加了新特性:
- default: 被default修饰的方法可以存在方法实现。即我们可以利用default关键字在java接口中声明普通的方法
- static: jdk1.8后,接口可以存在静态方法了
要注意的是:jdk1.8规定了接口的所有成员必须是公共的。
jdk1.9
- jdk1.9规定了接口中可以存在私有静态方法,但是静态字段和静态成员类仍然需要是公共的。