在JDK1.8中对接口的一些改动。
- 函数式接口的注解@FunctionalInterface
- 接口内的default 方法和static 方法
函数式接口的概念:只有一个抽象方法的接口,其中抽象接口的接口名不能和Object中的方法重名。
若重名则这个接口不能算是函数式接口。
jdk1.8提供了一个注解@FunctionalInterface,当用@FunctionalInterface注解在接口上时,若不是函数式接口,则编辑器报错(Intellij IDEA)。
这里因为我们定义了两个抽象方法,所以报错。
这里是因为我们定义方法和Object中的方法重名,所以报错。
jdk1.8扩展了接口的default和static方法,也是在缩小接口和抽象类的差异性。
使得接口有了默认方法,更具有灵活性。换句话说就是,接口在吸收抽象类的优点。
不求打赏,点赞关注走一走鸭!