ADTs(Abstract Data Types)
- 資料與方法的封裝
- 可重複使用
- 使用者只可使用public方法
- 常被稱為資料結構
Interface
- 描述一個ADTs所 必須 被實作的動作 或 方法(包含傳回值與傳入值)。
- 可用來 多重繼承
- 所有的 方法 都是abstract methods
- 所有的 資料 前輟皆為 static final
實作(implement)
- 實作Interface時,將
implement InterfaceName
置於class後 - 除了實作所有Interface 中方法與資料外,可自行加上其他資料與方法甚至建構子(constructors)
注意
- 必須將所有於 Interface中的方法全部實作,否則會出現syntax error
- 無法宣告Interface,否則將導致syntax error
ATM anATM = new ATM(); // invalid statement
繼承
- 前言:人是哺乳類,所以人有哺乳類動物的特徵。以此觀點來看繼承即是,子代擁有父代所有的特徵、行為等,但這些特徵或行為可能保留,抑或是進化成使其更能生存於此環境。
- 於 要繼承的class 後加上
extends superClassName
this.
- this. 用於區隔 區域變數 與 class內成員變數
super()
- 使用父代建構子(constructor)將繼承自父代的資料先行初始化
- 必須位於子代建構子 第一行
- 若PM並沒有寫super於建構子第一行,Java 將自動於建構子第一行補上
建構子 (constructor)
- 如果PM沒有撰寫 無傳入值的建構子(constructor) ,Java會使用預設(default)建構子
- 如果PM有自行寫過無傳入值的建構子,Java便不使用預設建構子
- 如果子代含有無傳入值建構子而父代
以下以電腦與筆電為例
1 | public class D2017_10_11 { |