对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口
1、接口(interface):接口的地位等同于class,接口中的所有方法都是抽象方法。在声明接口中方法时,可以使用abstract关键字,也可以不使用。通常情况下,都会省略掉abstract关键字。
2、可以将接口看作是特殊的抽象类(抽象类中可以有具体方法,也可以有抽象方法,而接口中只能有抽象方法,不能有具体方法)。
3、类可以实现接口。实现关键字implements表示,代表了某个类实现了某个接口
4、一个类实现了某个接口,那么该类必须要实现接口中声明的所有方法。如果该类是个抽象类,那么无需实现接口中的方法了。
5、Java是单继承,也就是某个类只能有唯一个父类;一个类可以实现多个接口,多个接口之间用逗号分隔。
6、多态:所谓多态,就是父类型的引用可以指向子类型的对象,或者接口类型的引用可以指向实现该接口类型的实例。关于接口与实现接口类型之间的强制转换方式与父类和子类的强制类型转换方式完全一样。
7、接口中所声明的方法都是抽象方法。接口中的方法都是public。
8、接口中也可以定义成员变量。接口中的成员变量都是public、final、static的。