对接口的改变:
1.增加了default方法和static方法,这两种方法完全可以有方法体。
2.default方法属于实例,static方法属于类(接口)。
3.接口里面的静态方法不会被基础。静态变量会被继承。
4.如果一个类实现了多个接口,并且这些接口互相之间没有继承关系,同时存在相同的默认方法,
会报错:不相关默认值。如果多个接口有继承关系,默认方法会被子接口覆盖。
5.如果遇到有多个继承,并且有相同的默认方法,实现类可以通过特殊语法指定要访问哪个接口的方法,在实现类中重写默认方法,在方法里面写:、
<接口>.super.<方法名>(【参数】);
6.如果一个接口只有一个抽象方法(包括继承的),该接口是一个函数式接口。函数式接口可以使用lambda表达式实现。
7.如果接口里面使用FunctionalInterface注解限定接口里面只能有一个抽象方法。
java8接口的变化“
1.静态方法和默认方法,方法前面使用static或者default进行修饰,这种方法必须有方法体。
2.如果一个接口只有一个抽象方法,默认自动变成函数式接口。
3.如果接口里面使用FunctionalInterface注解限定接口里面只能有一个抽象方法。
时间: 2024-11-13 10:30:59