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