一、接口的定义
Java接口是一系列方法的声明,是一些抽象的集合
一个接口只有抽象方法没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
简单地说,接口就是特殊的抽象类,即所有方法都是抽象方法的抽象类就是Java中的接口(interface)
二、类最多只能继承一个类,即单继承,而一个类却可以同时实现多个接口
实现接口的基本形式:
[修饰符] class <类名> [extends 父类名] [implements 接口列表]{ }
三、Java接口继承接口的原则
Java接口可以继承多个接口
接口继承接口依然使用关键字extends
Interface3 extends Interface0, Interface1, interface……
四、接口与抽象类区别
abstract interface
属性 不用限制 静态常量
构造方法 可有可无 没有
普通方法 可以有具体方法 必须是抽象方法
子类 单一继承 多重继承
abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface.
在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。
实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。
接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
接口中的方法默认都是 public,abstract 类型的。
五、面向接口的编程
接口是设计层面的概念,往往由设计师设计,将定义与实现分离
接口
子接口 抽象类
具体类
面向接口编程的意思是指在面向对象的系统中所有的类或者模块之间的交互是由接口完成的。