接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口一般以interface来声明。一个类经过继承接口的方式,从而来继承接口的抽象方法。java
接口并非类,编写接口的方式和类很类似,可是它们属于不一样的概念。类描述对象的属性和方法。接口则包含类要实现的方法。编程
除非实现接口的类是抽象类,不然该类要定义接口中的全部方法。编程语言
接口没法被实例化,可是能够被实现。一个实现接口的类,必须实现接口内所描述的全部方法,不然就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们能够成为一个空指针,或是被绑定在一个以此接口实现的对象。ide
接口的声明语法格式以下:测试
[可见度] interface 接口名称 [extends 其余的类名] { // 声明变量 // 抽象方法
}
Interface关键字用来声明一个接口。spa
接口有如下特性:代理
当类实现接口的时候,类要实现接口中全部的方法。不然,类必须声明为抽象的类。指针
类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。code
实现一个接口的语法,可使用这个公式:对象
...implements 接口名称[, 其余接口名称, 其余接口名称..., ...] ...
重写接口中声明的方法时,须要注意如下规则:
在实现接口的时候,也要注意一些规则:
一个接口能继承另外一个接口,和类之间的继承方式比较类似。接口的继承使用extends关键字,子接口继承父接口的方法。
在Java中,类的多继承是不合法,但接口容许多继承,。
在接口的多继承中extends关键字只须要使用一次,在其后跟着继承接口。 以下所示:
以上的程序片断是合法定义的子接口,与类不一样的是,接口容许多继承,而 Sports及 Event 可能定义或是继承相同的方法
最经常使用的继承接口是没有包含任何方法的接口。
标记接口是没有任何方法和属性的接口.它仅仅代表它的类属于一个特定的类型,供其余代码来测试容许作一些事情。
标记接口做用:简单形象的说就是给某个对象打个标(盖个戳),使对象拥有某个或某些特权。
例如:java.awt.event 包中的 MouseListener 接口继承的 java.util.EventListener 接口定义以下:
package java.util; public interface EventListener {}
没有任何方法的接口被称为标记接口。标记接口主要用于如下两种目的:
正如EventListener接口,这是由几十个其余接口扩展的Java API,你可使用一个标记接口来创建一组接口的父接口。例如:当一个接口继承了EventListener接口,Java虚拟机(JVM)就知道该接口将要被用于一个事件的代理方案。
这种状况是标记接口最初的目的,实现标记接口的类不须要定义任何接口方法(由于标记接口根本就没有方法),可是该类经过多态性变成一个接口类型。