國立屏東大學 資訊工程系 Java物件導向程式設計
從語法上來看,Interface(介面)與類別非常相似,都可以定義相關的欄位(fields)及方法(methods),請先參考以下的interface範例:
interface rule { }
不過和類別相比仍有以下三點不同:
物件在執行階段時,可以呼叫執行定義在其所屬類別裡的方法,例如一個Student類別的物件可以呼叫執行其isPass()與showInfo()等方法。
有時,我們會需要規範類別該有的行為
為了要讓物件可以執行特定的操作, 然而
Interface(介面)是Java語言用以「規範」類別行為的方法,不過介面僅定義「該有哪些行為(函式、方法)?」,具體的實作則是由選擇套用「介面」的類別負責提供。
interface定義語法
interface interfaceName
{
//field declarations [DataType variableName[=value]?[,variableName[=value]?]*;]*
method declarations [returnType methodName(parameters) { method implementations
statements }]*
}
不知道讀者有沒有換過燈泡的經驗?當一個燈泡壞掉的時候,我們只要依據燈泡底座的規格購買替換的燈泡即可,例如最常見的E27(螺口燈頭直徑為27mm)規格,至於廠牌、顏色、亮度等,
—— Interface就如同「產品的規格定義