在Java中,可以使用關(guān)鍵字interface
來定義接口。接口可以包含常量和抽象方法,并且不能包含實(shí)例變量和非抽象方法。
下面是定義接口的語法:
public interface 接口名 {
// 常量聲明
// 抽象方法聲明
}
在接口中,可以聲明常量和抽象方法,但是不能有方法體。常量在接口中默認(rèn)是public static final
類型的,而抽象方法在接口中默認(rèn)是public abstract
類型的。
例如,定義一個(gè)名為Animal
的接口,其中包含一個(gè)常量和一個(gè)抽象方法:
public interface Animal {
int LEGS = 4; // 常量聲明
void sound(); // 抽象方法聲明
}
另外,接口還可以繼承其他接口,使用關(guān)鍵字extends
,并且可以同時(shí)繼承多個(gè)接口。語法如下:
public interface 子接口名 extends 父接口名1, 父接口名2, ... {
// 常量聲明
// 抽象方法聲明
}
例如,定義一個(gè)名為Walkable
的接口,繼承自Animal
接口:
public interface Walkable extends Animal {
void walk();
}
接口可以被類實(shí)現(xiàn),使用關(guān)鍵字implements
。一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,實(shí)現(xiàn)接口的類必須實(shí)現(xiàn)接口中的所有抽象方法。語法如下:
public class 類名 implements 接口名1, 接口名2, ... {
// 類的實(shí)現(xiàn)
}
例如,定義一個(gè)名為Dog
的類,實(shí)現(xiàn)了Animal
接口和Walkable
接口:
public class Dog implements Animal, Walkable {
public void sound() {
System.out.println("汪汪");
}
public void walk() {
System.out.println("四條腿走路");
}
}
這樣,Dog
類就實(shí)現(xiàn)了Animal
接口和Walkable
接口中的所有抽象方法。