JavaSE第三章 物件導向 抽象類 abstract
3.5 抽象類
3.5.1 概念
- 如果一個類中沒有包含足夠的資訊來描繪一個具體的物件,這樣的類就是抽象類。
- 抽象類除了不能例項化物件之外,類的其它功能依然存在,成員變數、成員方法和構造方法的訪問方式和普通類一樣。
- 用abstract修飾的類就是抽象類。如果某個類中包含有抽象方法,那麼該類就必須定義成抽象類。
3.5.2 抽象方法:
- 抽象方法是一種特殊的方法:它只有宣告,而沒有具體的實現
- 抽象方法必須用abstract關鍵字進行修飾
- 抽象類可以有成員屬性和非抽象的成員方法。
- 抽象類不能被例項化,但可以有建構函式,因為抽象類中含有無具體實現的方法,所以不能用抽象類建立物件。
- 抽象類只能用作基類,表示的是一種繼承關係。繼承抽象類的非抽象類必須實現其中的所有抽象方法,而已實現方法的引數、返回值要和抽象類中的方法一樣。否則,該類也必須宣告為抽象類。
- 構造方法和靜態方法不可以修飾為abstract
3.5.3 一般語法
/**
*
*/
public abstract class Animal { //抽象類
private String name;
public abstract void eat(); //抽象方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
抽象類,抽象方法,在軟體開發過程中都是設計層面的概念。也就是說,設計人員會設計出抽象類,抽象方法,程式設計師都是來繼承這些抽象類並覆蓋抽象方法,實現具體功能。
相關文章
- 物件導向-抽象類物件抽象
- JAVA物件導向--抽象類Java物件抽象
- JavaSE第三章筆記(物件導向1)Java筆記物件
- TypeScript abstract 抽象類TypeScript抽象
- JavaSE什麼是物件導向?Java物件
- [JAVA] Java物件導向之final、abstract抽象、和變數生命週期Java物件抽象變數
- 介面和抽象類 (abstract)抽象
- 物件導向基礎(2)--抽象類 介面 集合 泛型物件抽象泛型
- [.net 物件導向程式設計基礎] (15) 抽象類物件程式設計抽象
- Python 學習筆記之類「物件導向,超類,抽象」Python筆記物件抽象
- javaSE之物件導向思維導圖總結Java物件
- JavaSE基礎:抽象類Java抽象
- 物件導向 -- 三大特性之繼承 補充 抽象類 介面類物件繼承抽象
- 章10——物件導向程式設計(高階部分)——抽象類物件程式設計抽象
- Java第八課. 物件導向特徵3-多型&抽象類Java物件特徵多型抽象
- Perl物件導向--類物件
- c# abstract抽象類及抽象方法_繼承C#抽象繼承
- Java物件導向——類與物件Java物件
- JAVA學習線路:day01物件導向(繼承、抽象類)Java物件繼承抽象
- python-程式導向、物件導向、類Python物件
- 物件導向類成員物件
- Abstract Factory(抽象工廠)——物件建立型模式抽象物件模式
- java中的抽象類abstract怎麼使用?Java抽象
- python物件導向思想(類與物件)Python物件
- PHP 物件導向 (十一)反射類PHP物件反射
- 物件導向 -- 類的組合物件
- C++ 類(物件導向初探)C++物件
- 物件導向之內部類物件
- JavaScript中的物件導向----類JavaScript物件
- 物件導向——類設計(一)物件
- JAVA物件導向高階二:抽象類的應用--模板方法設計模式Java物件抽象設計模式
- 物件導向-物件導向思想物件
- Java匹馬行天下之JavaSE核心技術——物件導向Java物件
- c# abstract抽象類_非抽象類_virtual_虛方法_override重寫C#抽象IDE
- JavaSE —— 第11步 —— 最關鍵的一點(物件導向) 11.1物件導向和麵向過程的區別Java物件
- Java語言之物件導向—類與物件(上)Java物件
- PHP中的 抽象類(abstract class)和 介面(interface)PHP抽象
- C++中的抽象基類(Abstract Base Class)C++抽象