在Java中,接口(Interface)是一種定義行為的契約。它使用interface
關鍵字進行定義,并包含一組抽象方法(沒有方法體的方法)。接口中的方法默認是public abstract
的,表示它們是公開的抽象方法。此外,接口還可以包含常量(使用static final
修飾符)和默認方法(使用default
關鍵字)。
以下是接口的定義和使用示例:
public interface Animal {
// 抽象方法
void eat();
// 默認方法
default void sleep() {
System.out.println("The animal is sleeping.");
}
// 靜態常量
static final String SPECIES = "Mammals";
}
要實現一個接口,需要在類中使用implements
關鍵字。實現接口的類必須提供接口中所有抽象方法的實現。
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("The dog is eating.");
}
}
要使用實現了接口的類,可以通過接口類型進行引用。然后,可以調用接口中定義的方法,這些方法在實現類中具有具體的實現。
public class Main {
public static void main(String[] args) {
// 使用Dog類,它實現了Animal接口
Animal myAnimal = new Dog();
// 調用接口中的抽象方法
myAnimal.eat();
// 調用接口中的默認方法
myAnimal.sleep();
// 訪問接口中的靜態常量
System.out.println("Animal species: " + Animal.SPECIES);
}
}
輸出結果:
The dog is eating.
The animal is sleeping.
Animal species: Mammals