Java:接口

来源:互联网 发布:vue.js event.target 编辑:程序博客网 时间:2024/06/05 00:46

接口

接口不是类,而是对类的一组需求描述。这些类要遵从接口描述的统一格式进行定义。
Arrays类中的sort方法承诺可以对对象数组进行排序,但要求对象所属的类必须实现了Comparable接口:

public interface Comparable<T> {    int compareTo(T other);}

接口中的所有方法自动属于public,所以在接口中声明时,不必提供关键字public。
上面这个接口只有一个方法,而有些接口可能包含多个方法。但接口中不能含有实例域,也不能实现方法


为了让类实现一个接口,通常需要下面两个步骤:

  • 将类声明为实现给定的接口
  • 对接口中的所有方法进行定义

要将类声明为实现给定的接口,需要使用关键字implements

class Employee implements Comparable

这里的Employee类需要提供compareTo方法。实现接口时,必须显式声明成public。

接口的特性

接口不是类,不能实例化一个接口,然而,可以声明接口的变量:

Comparable x;

接口变量必须引用实现了接口的类对象:

x=new Employee(...);

可以使用instanceof检查一个对象是否实现了某个接口:

if(anObject instanceof Comparable) {    ...}

接口也可以被继承:

public interface Powered extends Moveable {    ...}

和C++不同,C++允许一个类有多个超类,这种特性称为多继承。但在Java中,每个类只能有一个超类,却可以实现多个接口,如:

class Employee implements Cloneable,Comararble

使用逗号将实现的各个接口分隔开。

0 0
原创粉丝点击