介面,介面的定義

來源:互聯網
上載者:User

標籤:返回   修飾符   多繼承   特徵   bst   系統   xtend   final   介面   

介面interface,顧名思義,是為了一種事物與另一種事物進行交流提供的通道(手段),例如我們現在的作業系統是Windows系統,我們見到的介面和各個功能的按鈕都是圖形使用者介面,介面就是使用者和應用程式內部互動的介面。介面實際上有兩種含義:一是一個類所具有的方法的特徵集合,是一種邏輯上的抽像;二是java介面,java語言中存在的結構,有特定的文法和結構,前者叫做“介面”後者叫做“java介面”。本節我們研究的是java介面。

java中的介面是一系列方法的聲明,是一些方法的特徵集合。一個介面只有方法特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。介面具有以下特徵:

(1)在java中只支援單繼承。如果要實現多繼承可以通過介面實現。

(2)封裝性。介面提供一種途徑,使類隱藏其處理的特定事物的細節,僅對外公布它必須支援的屬性。只需要知道調用的方法及其參數,而不需要知道內部的實現。

(3)面向介面變成,比如A,B實現介面C,在一個方法的參數中可以寫C(可以代表A也可以代表B),到時動態地傳入A或B 的執行個體都可以。

 

介面的定義:介面包含常量和抽像方法,沒有變數和其他成員方法,一旦定義了介面,所有的類都可以實現該介面,並且由於介面支援多繼承,多以一個類一次可以同時實現多個介面。介面的具體定義格式如下:

[public] interface 介面名 [extends 多個父介面]

{

[public] [static] [final] 類型 常量名=值;

[public] [abstract] 傳回型別 方法名([參數]);

}

其中介面中預設的屬性都是常量,並且常量預設必須是公有常量,不允許有變數和普通方法,所以常量的修飾符,不能寫具體的實現,所以方法前的修飾符public和abstract也可以省略。例如定義A介面:

interface A{

int p=4.14;

void show();

}

介面A 的屬性p為一個public常量,show()為一個public的抽像方法。需要注意的是,由於p是一個常量,所以p在定義的同時必須給他賦初值。

介面定義的同時,可以指出它的封裝性。如果是public,任何地方都可以實現介面;如果沒有public,為預設狀態,只能被同一個包中的類訪問。

介面支援多繼承多個介面之間用逗號隔開,其父親也必須是介面。例如:

public interface Father{

  void fn1();

void fn2();

}

public interface Mother{

void fn3();

void fn4();

}

public interface Son extends Father,Mother

{

void fn5();

}

在Father介面中有fn1()和fn2()兩個抽像方法,Mother介面中有fn3()和fn4()兩個抽像方法.定義的Son介面中有一個fn5()抽像方法,由於他的父親是Father和Mother介面,所以Son介面中應該有5 個抽像方法。如果一個類實現Son介面,它必須實現Son,Father,Mother中的5個方法。

ps:介面的父親一定是介面,不能是類。

 

介面,介面的定義

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.