更新時間:2020-07-17 16:23:33 來源:動力節點 瀏覽2375次
抽象類
1.抽象類的概念
普通類可以直接產生實例化對象,并且在普通類之中可以包含有構造方法,普通方法、常量、變量等內容。而所謂的抽象類就是指在普通類的結構里面增加抽象方法的組成部分。
所有的普通方法上面都會有一個“{}”,該符號表示方法體,有方法體的方法一定可以被對象直接使用。而抽象方法指的是沒有方法體的方法,同時抽象方法還必須使用abstract關鍵字定義。
擁有抽象方法的類一定屬于抽象類,抽象類要使用abstract聲明。
抽象類不能實例化。(類一旦被實例化則就可以調用類中的方法或屬性,但是在抽象類中,沒有方法,所以抽象類就不能被實例化。)
抽象類的使用規則:
抽象類必須有子類。即:每一個抽象類要被子類所繼承。抽象類的子類(子類不是抽象類)必須要覆寫抽象類中所有的抽象方法、(一個子類只能繼承一個抽象類,單繼承)抽象類的實例化需要依靠子類完成,采用向上轉型的方法處理。抽象類的相關限制
(1)由于抽象類里面會存在一些屬性,那么在抽象類之中一定存在構造方法,其目的是為屬性初始化。并且子類對象實例化的時候,依然滿足于先執行父類構造,再調用子類構造的情況。
(2)抽象類不能夠使用final定義,因為抽象類必須有子類,而final定義的類不能夠有子類。
(3)外部類不允許使用static聲明,而內部的抽象類允許static聲明。使用static聲明的內部抽象類就相當于是一個外部抽象類,繼承的時候使用“外部類.內部類”的形式表示類名稱。
(4)在任何情況下,如果要執行類中的static方法的時候,都可以在沒有實例化對象的時候直接調用。對于抽象類也是一樣。
程序分析:
abstract?class?A?{
public?A(){//第二步
this.print();
}
public?abstract?void?print();
}
class?B?extends?A{
private?int?num?=?100;
public?B(int?num){
this.num?=?num;
}
public?void?print(){//第三步
System.out.print("num?=?"?+?num);
}
}
public?class?TestDemo{
public?static?void?main(String?args[]){
new?B(30);//第一步
}
}
程序輸出結果:num=0;
分析:
在任何一個類的構造執行完之前,所有屬性的內容都是其對應數據類型的默認值。子類構造方法之前,一定先執行父類的構造方法。
Java技術內容
Java抽象類:http://www.dabaquan.cn/tutorial_java_advance/609.html
以上就是動力節點java培訓機構的小編針對“Java編程基礎之抽象類的學習”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習