抽象類的概念及特點
阿新 • • 發佈:2019-01-04
1. 如何定義抽象類、抽象方法
abstract關鍵字修飾
2. 抽象類無法被例項化
因為它不是具體的類。(但是有構造方法)
3. 抽象類有構造方法,是給子類建立物件的
4. 抽象類中可以定義抽象方法
語法:在方法的修飾列表中新增abstract關鍵字,並且以“;”結束,不能帶有“{}”
public abstract void m1();
5. 抽象類中不一定有抽象方法,抽象方法一定在抽象類中
6. 一個非抽象類繼承抽象類,必須將抽象類中的抽象方法覆蓋、實現、重寫
7. 抽象類的成員特點:
成員變數:
既可以是變數也可以是常量。
構造方法:
有構造方法,用於子類訪問父類資料的初始化。
成員方法:
抽象類中方法既可以是抽象的,也可以是非抽象方法。
在父類中:
非抽象方法:子類繼承的事情,提高程式碼的複用性
抽象方法:強制要求子類做的事情。
8. 抽象類中注意的問題:
一個類如果沒有抽象方法,可以是抽象類,即抽象類中可以完全沒有抽象方法。
這樣類的主要目的就是不讓建立該類物件。
9. abstract關鍵字不可以與哪些關鍵字使用。
private 衝突; private修飾的成員不能被繼承,從而不可以被子類重寫,而abstract修飾的是要求被重寫的。
final 衝突;final修飾的成員是最終成員,不能被重寫,所以衝突,static 無意義;
static衝突;static修飾成員用類名可以直接訪問,但是abstract修飾成員沒有方法體,所以訪問沒有方法體的成員無意義。
abstract關鍵字修飾
2. 抽象類無法被例項化
因為它不是具體的類。(但是有構造方法)
3. 抽象類有構造方法,是給子類建立物件的
4. 抽象類中可以定義抽象方法
語法:在方法的修飾列表中新增abstract關鍵字,並且以“;”結束,不能帶有“{}”
public abstract void m1();
5. 抽象類中不一定有抽象方法,抽象方法一定在抽象類中
6. 一個非抽象類繼承抽象類,必須將抽象類中的抽象方法覆蓋、實現、重寫
7. 抽象類的成員特點:
成員變數:
既可以是變數也可以是常量。
構造方法:
有構造方法,用於子類訪問父類資料的初始化。
成員方法:
抽象類中方法既可以是抽象的,也可以是非抽象方法。
在父類中:
非抽象方法:子類繼承的事情,提高程式碼的複用性
抽象方法:強制要求子類做的事情。
8. 抽象類中注意的問題:
一個類如果沒有抽象方法,可以是抽象類,即抽象類中可以完全沒有抽象方法。
這樣類的主要目的就是不讓建立該類物件。
9. abstract關鍵字不可以與哪些關鍵字使用。
private 衝突;
final 衝突;final修飾的成員是最終成員,不能被重寫,所以衝突,static 無意義;
static衝突;static修飾成員用類名可以直接訪問,但是abstract修飾成員沒有方法體,所以訪問沒有方法體的成員無意義。