接口
接口概念
接口(Interface),在JAVA編程語言中是一個抽象類型,是一系列方法的聲明,是一些方法特征的集合。 一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。 接口并不是類,編寫接口的方式和類很相似,但是它們屬于不同的概念。類描述對象的屬性和方法。接口則包含類要實現的方法。
接口定義
接口的定義
接口的特點
1.接口是隱式抽象的,當聲明一個接口的時候,不必使用abstract關鍵字。
2.接口中每一個方法也是隱式抽象的,接口中的方法會被隱式地指定為 public abstract(只能是 public abstract,其他修飾符都會報錯)。聲明時同樣不需要abstract關鍵字。
3.接口中可以含有變量,但是接口中的變量會被隱式地指定為 public static final 變量(并且只能是 public,用 private 修飾會報編譯錯誤)。
4.接口中的方法是不能在接口中實現的,只能由實現接口的類來實現接口中的方法。
抽象類和接口的區別
1.抽象類中的方法可以有方法體,就是能實現方法的具體功能,但是接口中的方法不行。
2.抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是 public static final 類型的。
3.接口中不能含有靜態代碼塊以及靜態方法(用 static 修飾的方法),而抽象類是可以有靜態代碼塊和靜態方法。
4.一個類只能繼承一個抽象類,而一個類卻可以實現多個接口。
應用實例
//A simple interface
interface in1 {
//public,static and final
final int a = 10;
//public and abstract void display(); //在接口中的所有方法都必須只聲明方法標識,而不要去聲明具體的方法體。
}
為了實現這個接口,我們使用implements關鍵詞去實現接口:
接口實現
class testClass implements in1 {
//Implementing the capabilities of interface.
public void display(){
System.out.printIn("Geek");
}
其中testClass類實現了我們上面剛才定義的 in1 這個接口,既然你要實現接口,也就是實現接口代表的一種能力,那么你就必須去實現接口給你規定的方法, 只有把接口給你規定的抽象方法都給實現了,才承認你這個類實現了這個接口,實現了這個接口代表的某種功能。上圖實現了接口中規定的display()方法。
//Driver Code
public static void main (String[] args) {
testClass t = new testClass();
t.display();
System.out.printIn(a);
}
寫一個測試類,用來測試一下我們剛才實現的這個接口,因為testclass類的對象t實現了接口規定的display方法,那么自然而然就可以調用display()方法咯。
免責聲明:本文內容來自用戶上傳并發布,站點僅提供信息存儲空間服務,不擁有所有權,信息僅供參考之用。