- 形式
定义:interface 接口名
实现:public class 类名 implements 接口名
/* 文件名 : Animal.java */
//这里面只定义方法,声明
interface Animal {
public void eat();
public void travel();
}
public class MammalInt implements Animal{
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();
}
}
- 一个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends关键字,子接口继承父接口的方法
// 文件名: Sports.java
//一个接口被多个继承
public interface Sports
{
public void setHomeTeam(String name);
public void setVisitingTeam(String name);
}
// 文件名: Football.java
public interface Football extends Sports
{
public void homeTeamScored(int points);
public void visitingTeamScored(int points);
public void endOfQuarter(int quarter);
}
// 文件名: Hockey.java
public interface Hockey extends Sports
{
public void homeGoalScored();
public void visitingGoalScored();
public void endOfPeriod(int period);
public void overtimePeriod(int ot);
}
- 在Java中,类的多继承是不合法,但接口允许多继承。
在接口的多继承中extends关键字只需要使用一次,在其后跟着继承接口。 如下所示:
public interface Hockey extends Sports, Event
-
接口可以多继承
-
接口的方法声明必须是 public abstract 即便不写默认也是
-
接口里面不能包含方法具体实现
-
类实继承接口必须实现接口里申明的全部方法,除非该类是抽象类
-
类里面可以声明 public static final 修饰的变量
-
接口不能被实例化,但是可以被实现类创建