1、jdk7.0之前,接口的所有方法都是抽象方法且都是用public修饰的
2、jdk8.0之后,接口类可以有静态方法,默认方法
3、接口可以有属性和方法
4、在接口中,抽象方法可以省略abstract和public
5、接口中的属性,只能是final的,而且是public static final修饰符
举例:
6、接口不能继承其他的类,但是可以继承多个别的接口
7、接口的修饰符只能是public或者默认
8、接口存在多态传递,举例:Java编程基础/day03/interface_/interfacePolyPass.java
9、jdk9中接口允许定义私有方法
10、接口中的静态方法,实现类不能调用,如果一个实现类实现了两个接口,且两个接口中有同名的默认方法,那么实现类必须重写该默认方法
接口和继承的对比:
继承的价值主要在于解决代码的复用性和可维护性
接口的价值主要在于:设计,设计好各种规范,让其他类去实现方法
接口在一定程度上实现代码的解耦(接口规范性+动态绑定机制)
例题: