正文
抽象類的介紹
- 用abstract來修飾的類叫抽象類,用abstract修飾的方法叫抽象方法
- 含有抽象方法的類必須被聲明爲抽象類,抽象類必須被繼承,抽象方法必須被重寫
- 抽象類不能被實例化
- 抽象方法只需要聲明,不需要實現
結合程序深入理解抽象
package com.mlin;
public class Animal {
//私有成員變量
private String name;
//構造方法
Animal(String name){
this.name = name;
}
//這裏定義了一個方法
public void call(){
System.out.println("動物......");
}
}
上面的程序中在父類定義了一個方法call(),並對它進行了實現。但其實這個父類是要他的子類繼承的,並且會重寫call()方法,那麼這個call()在父類的實現就沒有必要了,所以這個call方法在父類中只需要聲明不需要實現了。因此在類Animal裏面只需要定義這個call()方法就可以了,使用abstract關鍵字把call()方法定義成一個抽象方法,如:public abstract void call();
,另外有抽象方法的類就要定義爲抽象類,故:abstract class Animal
,此時Animal類變成如下所示:
abstract class Animal {
public String name;
public Animal(String name) {
this.name = name;
}
public abstract void call();
}
子類繼承父類時,如過父類有抽象方法,子類也覺得有必要實現這個抽象方法時,那就重寫這個方法並實現它。如果子類覺得沒有必要實現,那就在子類裏面再把這個方法定義爲抽象方法,並有該子類的子類去實現它。另外注意,被聲明爲抽象類以後是不能被實例化的。
原創作者:凌小樣
作品鏈接:https://www.jianshu.com/p/2c0dabf47d9a
【原創不易,轉載請註明出處,感謝理解】
一位愛生活,愛創作,愛分享,愛自己的90後女程序員一枚,記錄工作中的點點滴滴,一起學習,共同進步,期待能和優秀的您交上朋友