Java中的接口是一種在面向對象編程中非常重要的概念。接口可以被視為標準或協議,定義了一些方法的規范,類可以實現這些接口來滿足這些規范。接口的定義使用關鍵字“interface”,其基本語法如下:
public interface MyInterface { // 方法聲明 }
在接口中,所有的方法都是抽象的,因此不需要使用“abstract”關鍵字來修飾。在Java 8之前,接口中只能定義方法聲明,沒有實現代碼。但是,從Java 8開始,接口中也可以包含默認方法和靜態方法:
public interface MyInterface { void method1(); // 抽象方法聲明 default void method2() { // 默認方法 } static void method3() { // 靜態方法 } }
通常情況下,一個類實現一個或多個接口,從而提供了對方法的實現。類通過實現接口,來表明它們具有一些特定的能力。可以使用“implements”關鍵字實現一個接口:
public class MyClass implements MyInterface { public void method1() { // 實現 method1 } }
類實現接口時,需要實現接口中定義的所有抽象方法。如果一個類在實現接口時沒有全面實現所有的抽象方法,那么這個類必須聲明為抽象類,否則會編譯錯誤。
接口還允許通過多重繼承方式從其他接口繼承方法聲明。多繼承是Java中不被允許的,但是在接口中可以使用多重繼承特性:
public interface MyInterface2 { void method4(); // 抽象方法聲明 } public interface MyInterface3 extends MyInterface, MyInterface2 { void method5(); // 抽象方法聲明 }
在本例中,MyInterface3接口從MyInterface和MyInterface2接口繼承了抽象方法聲明,并且聲明了一個新的抽象方法method5()。當一個類實現MyInterface3時,需要實現method1()、method4()和method5()。