首页 > 代码库 > Java接口

Java接口

概念:

接口(英文:Interface),可以理解为一种特殊的抽象类。里面只有常量和抽象方法(不需要写abstract)。接口可以多实现(继承),类只能是单继承。

定义:

interface 接口名 [extends 父接口列表]{
    final 类型 常量名=值;//常量
    public void 方法名(形参);//抽象方法
}

注:

1.接口尽量的小,功能太复杂的接口是一种坏味道的接口。——接口分离原则。
2.接口定义的时候,接口名子,尽量是形容词,或者是描述性质的词。

Interface关键字用来声明一个接口。下面是接口声明的一个简单例子。

interface IAnimal {//定义IAnimal接口,约定俗成在接口名(Animal)前加I
   public void eat();//抽象方法
   public void travel();
}

接口有以下特性: 

  • 接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。
  • 接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键子。
  • 接口中的方法都是公有的。

接口的实现

当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。

类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。

实现一个接口的语法,可以使用这个公式:

[abstract] class 类名 extends 父类 implements 接口列表{

}

下面看一个实例

public class MammalInt implements IAnimal{//实现IAnimal接口
 
   public void eat(){//实现方法并重写
      System.out.println("Mammal eats");
   }
 
   public void travel(){//实现方法并重写
      System.out.println("Mammal travels");
   } 
 
   public int noOfLegs(){
      return 0;
   }
 
   public static void main(String args[]){
      MammalInt m = new MammalInt();
      m.eat();
      m.travel();
   }
}

在实现接口的时候,也要注意一些规则:

  • 一个类可以同时实现多个接口。
  • 一个类只能继承一个类,但是能实现多个接口。

接口的多重继承

在Java中,类的多重继承是不合法,但接口允许多重继承,。

在接口的多重继承中extends关键字只需要使用一次,在其后跟着继承接口。 如下所示:

public interface Hockey extends Sports, Event//继承了Sports和Event两个接口

以上的程序片段是合法定义的子接口,与类不同的是,接口允许多重继承,而 Sports及 Event 可能定义或是继承相同的方法

Java接口