本文目錄一覽:
java中抽象類可以繼承實體類嗎
抽象類可以繼承實體類,因為抽象類中不僅可以有抽象方法,也可以有非抽象方法,抽象類繼承了實體類則即包括自己的抽象方法也包括了繼承來的非抽象方法
java繼承抽象類與普通類有什麼區別?
抽象類:
1、抽象類中可以有普通方法,如果想讓方法子類必須實現,就弄成抽象方法。
2、如果抽象類中有抽象方法,那麼這個類必須定義為抽象類。
3、抽象類不能被new。
普通類:
1、普通類中不能有抽象方法。
2、如果一個普通類實現了一個抽象接口或者抽象類,那麼意味着必須重寫抽象方法。
一、繼承(extends)
繼承是對現實生活中的”分類”概念的一種模擬。
獅子擁有動物的一切基本特性,但同時又擁有自己的獨特的特性,這就是”繼承”關係的重要特性:通常簡稱為”IS_A”關係,UML類圖可以這麼表示:
繼承的語法
class 子類名 extends 父類名 {
……
}
注意:
父類(parent class)和超類(super class):通常指直接上級;
基類(base class):通常指包括直接上級在內的”上級的上級”;
例如:
子類自動擁有父類聲明為public和protected的成員,這就是繼承特性的體現之一。
繼承條件下類的訪問權限:
public:外界可自由訪問
private:外界不可訪問
protected:同一包中的子類都可以訪問,另一包中的子類(派生於同一個父類)也可以訪問
default:如果不指明任何權限,則默認同一包中的類可以訪問
JAVA抽象類可以繼承抽象類
您好,提問者:
1、抽象類只是一個特殊的類,但是也具備類的特性。
2、如果這個類中有抽象方法,那麼這個類必須定義為抽象類。
3、如果這個抽象類繼承了別的抽象類,那麼可以不覆蓋抽象方法。
因為:這個抽象類也是抽象的,沒辦法實現方法體。
例如一下代碼:
abstract class A{
abstract void add();
public void delete(){}
}
abstract class B extends A{
//繼承了抽象A類,因為也是抽象的,可以不寫抽象方法,當然也可以重寫抽象方法(切記抽象方法是沒有方法體的)
//abstract void add(); //也是沒有問題的
abstract void getXX();
}
public class C extends B{
//必須實現抽象方法
//繼承了B,也就繼承了A,A B方法都有,所以必須重寫這兩個抽象類的抽象方法
public void add(){}
public void delete(){}
public void getXX(){}
}
原創文章,作者:GNVNJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130527.html