JAVA面向對象學習之抽象的概述及其特點
22.1 抽象類
1、 概念:抽象就是指看不懂的類。
2、抽象類的特點:
2.1抽象和抽象方法必須用abstract關鍵字修飾
abstract class 類名 {}
public abstract void eat() ;
2.2 抽象類不一定有抽象方法,有抽象方法的類一定是抽象類或者是接口;
2.3 抽象類不能實例化,所以,按照多態的方式,由具體的子類實例化。其實這也是多態的一種,抽象類多態。
2.4 抽象類的子類:要麼是抽象類,要麼重寫抽象類中的所有抽象方法。
案例演示如圖1所示:
![Java基礎,學習面向對象的抽象方法,案例練習Java編寫:葵花寶典](http://p2.ttnews.xyz/loading.gif)
圖1
3、抽象類的成員特點:
3.1成員變量:既可以是變量,也可以是常量;
3.2有構造方法:用於子類訪問父類數據的初始化;
3.3 成員方法:既可以是抽象的,也可以是非抽象的。
4、抽象類的成員方法特性:
4.1 抽象方法:強制要求子類做的事情;
4.2 非抽象方法:子類繼承的事情,提高代碼複用性。
案例演示如圖2所示:
![Java基礎,學習面向對象的抽象方法,案例練習Java編寫:葵花寶典](http://p2.ttnews.xyz/loading.gif)
圖2
5、案例練習:演示葵花寶典,如圖3所示:
圖3
6、案例練習貓和狗的案例:如圖4所示:
圖4
6、案例練習教師的案例:如圖5所示:
圖5
7、案例練習員工的案例:如圖6所示:
圖6
說明:不能與abstract同時使用的關鍵字有:static、final、private。
static:被修飾的可以用類名.調用,但類名.調用抽象方法時沒有意思的;
final:被final修飾的不讓子類重寫,而abstract修飾的方法時強制子類重寫,所以矛盾。
private:被private修飾不讓子類訪問,而abstract修飾的是為了讓子類看到並強制重寫,所以矛盾。
感謝支持,我是小區日記本,喜歡點關注。每天根據小編的學習,持續分享學習的筆記與心得。
案例代碼截圖僅包含部分,小編已整理了全部代碼並分享,可免費領取,私信回覆2個字:代碼
閱讀更多 小區日記本 的文章