iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 30
0
自我挑戰組

JAVA系列 第 30

JAVA抽象方法、類別

  • 分享至 

  • xImage
  •  

如果類別與類別之間有繼承關係,則您可以用父類別宣告一個參考名稱,並讓其參考至子類別的實例,並以父類別上的公開介面來操作子類別上對應的公開方法,這是多型( Polymorphism )操作的基本方式。

更進一步的,您可以在父類別中事先規範子類別必須實作的方法,父類別中暫時無需實作,如果一個類別中包括了抽象方法,這樣的方法稱之為抽象方法( Abstract method ),它的目的是先規範操作介面,並在執行時期可以操作各種子類別的實例,包括有抽象方法的類別則稱之為抽象類別( Abstract class ),抽象類別是個未定義完全的類別,所以它不能被用來生成物件,它只能被擴充,並於擴充後完成未完成的抽象方法定義。
在定義類別的時候,您也許會先定義出一些子類別必須共同遵守的行為,但父類別的目的只是先定義,在父類別中並不打算實作這些行為,此時您可以將這些行為定義為抽象方法( Abstract method )。

在定義方法時,您可以使用關鍵字 abstract 來修飾它成為抽象方法,而一個含有抽象方法的類別則稱之為抽象類別( Abstract class ),抽象類別不能被實例化,它只能被繼承,繼承抽象類別的子類別必須實作抽象類別中所有的抽象方法。
透過 JAVA抽象方法、類別解說之後,我們可以了解到:
1.抽象類別可定義一般函數與抽象函數。
2.抽象類別不能用來建立物件。
3.抽象函數不定義其處理方式。
4.子類別繼承而來的抽象函數與改寫overriding 技術相同。
5.針對子類別會使用到的條件,可以在父類別中定義抽象函數來使用。
6.抽象函數 只能宣告為公有(public)或保護(protected),因為子類別必須取用,所以不能宣告成私有(private)。


上一篇
JAVA 跳脫字元
系列文
JAVA30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言