编写接口的方式与类相似,但接口不同于类。简单来说,二者最本质的区别便是类描述对象的属性和方法,而接口则包含类要实现的方法。二者的异同总结如下:
首先说相似处,一个接口中可以有多个方法
另外,接口文件保存在 .java 结尾的文件中,文件名使用接口名。同时接口的字节码文件保存在 .class 结尾的文件中,接口相应的字节码文件必须在与包名称相匹配的目录结构中。
接口与类的不同之处主要有:
接口不能用于实例化对象;
接口没有构造方法;
接口中所有的方法必须是抽象方法,Java 8 之后接口中可以使用 default 关键字修饰的非抽象方法;
接口不能包含成员变量,除了 static 和 final 变量;
接口不是被类继承了,而是要被类实现;
接口支持多继承。
在Java 编程领域中,接口可以为不同类顺利交互提供标准。
接口的继承
接口的继承使用extends关键字,子接口继承父接口的方法。一个接口能继承另一个接口,和类之间的继承方式比较相似。
Football接口自己声明了三个方法,从Sports接口继承了两个方法,这样,实现Football接口的类需要实现六个方法。相似的,实现Hockey接口的类需要实现六个方法,其中两个来自于Sports接口。
在Java中,类的多继承是不合法,但接口允许多继承。在接口的多继承中extends关键字只需要使用一次,在其后跟着继承接口。