抽象類
抽象類概念:描述不是特別清楚的類,當你對一個方法描述不清的時候就可以把該方法聲明成 抽象方法
使用關鍵詞 abstract修飾
注意事項
1.有抽象方法的類必須聲明成抽象類
2.抽象類中除了抽象方法還可以有其他的方法
3.抽象類不能直接創建對象
4.強制繼承的子類重寫抽象方法
5.使用多態的形式創建 子類
抽象類中除了抽象方法還能有什麼?
1.可以有變量 常量
2.可以有構造方法
3.可以有抽象方法和成員方法
* abstract 關鍵詞與那些關鍵詞不能共存?
* privat 修飾方法 只能本類訪問 抽象類強制子類去重寫抽象方法 訪問不到,導致無法重寫
* final 修飾類的時候 不能被繼承 抽象需要一個子類去實現抽象類的實現 修飾方法 方法不能被重寫
* static 修飾抽象方法 就能使用類名去調用 抽象方法是沒有實現部分的 ,不能直接去調用
抽象類書寫代碼:
Animal aCat=new Cat();
aCat.speak();
abstract class Animal {
int num=0;
final int a=12;
public Animal() {
System.out.println("我是無參的構造方法");
}
// 聲明一個抽象方法
public abstract void speak();
public void fun() {
System.out.println("我是fun方法");
};
}
// 抽象類的子類
class Cat extends Animal {
@Override //子類重寫父類的 抽象方法
public void speak() {
System.out.println("貓在叫");
}
運行結果: