iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 11
0
自我挑戰組

我的語言自學接力系列 第 11

D11:[Java]介面 interface(基本概念)

介面(interface)具有資料成員 與 抽象函數;那麼 他與「抽象類別」有何不同之處?

  • 介面中的資料成員必須設定初值
  • 介面沒有一般函數,只有抽象函數
    進入範例之前,先了解一下 介面 的格式:
interface 介面名稱
{
  final 資料型態 成員名稱=常數;
  
  public abstract 傳回值資料型態 函數名稱(引數...);
  //抽象函數並無定義處理方式
}

因為介面只有抽象函數,abstract 的關鍵字可以省略;
而資料成員部分:因為此值不會被更改,final 也是可以省略的。
抽象函數的修飾子也只能使用公有 public (或不宣告),
為了都能取用到,所以不能宣告 私有private或保護 protected 。

再次強調一次重點:

  • 介面中的資料成員必須設定初值
  • 介面沒有一般函數,只有抽象函數

知道介面只含有抽象函數,不禁也讓我們聯想到:
抽象函數只定義其名稱,而沒有處理方式,因此介面跟抽象類別一樣無法直接建立物件。

Q:那麼我們該如何透過定義好的介面來造一個類別,並透過之來建立物件?

A:使用 介面 a 來打造 類別 b ,我們稱為介面的實作(implementation)、以類別b實作介面a

介面的實作(implementation)格式也很簡單:

class 類別名稱 implements 介面名稱
{
   ...
}

下一篇將透過完整範例做更加詳盡的解說,加深對介面實作 的使用。


如果您喜歡我的文章,可以至 4xDevJava 學習系列閱讀更多 Java 文章。


上一篇
D10:[Java]使用抽象類別型態的變數建立物件
下一篇
D12:[Java]介面 interface(基本範例解說)
系列文
我的語言自學接力31

尚未有邦友留言

立即登入留言