更新時間:2020-10-27 17:44:20 來源:動力節點 瀏覽1324次
我們都知道java是面向對象的計算機語言,在面向對象的概念中,所有的對象都是由類來描述的,但是所有的類都是用來描述對象的嗎?答案并不是,這個時候就有了java抽象類的概念,下面我們來一起認識一下java抽象類是什么,學習java抽象類的相關基礎知識。
在java語言中,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,用abstract關鍵字來修飾一個類時,這個類就叫作java抽象類。抽象類是它的所有子類的公共屬性的集合,是包含一個或多個抽象方法的類,抽象類可以看作是對類的進一步抽象。在面向對象領域,抽象類主要用來進行類型隱藏。
Java抽象類有以下五個需要知道的特點:
(1)抽象類的修飾符必須為public或者protected,不能是private,因為創建抽象類,就是要被其他類繼承,用private修飾了,則不能被子類繼承,子類便無法實現該方法;
(2)抽象類不能用來創建對象,即抽象類不能被直接實例化,要通過其普通子類進行實例化;
(3)如果一個普通子類繼承于一個抽象父類,則該類一定要重寫實現該父類的抽象方法。如果該子類仍然是一個抽象類,這也是允許的,就不必重寫實現該父類的抽象方法,但必須用abstract修飾;
(4)抽象類是對整體類的抽象,包含屬性和方法;
(5)抽象類,其實是從子類中提取共性部分,然后抽象出來,反之,子類繼承該父類就可以了,也就是說里面的抽象方法一般來自同一個類別。
那么使用java抽象類的方法是什么呢?分為一般方法和抽象方法。抽象方法的定義與一般方法不同,抽象方法在方法頭后直接跟分號,而一般方法含有以大括號框住的方法體。所有的抽象方法必須存在于抽象類中。在抽象類中定義的方法稱為抽象方法,這些方法只有方法頭的聲明,而用一個分號來代替方法體的定義,即只定義成員方法的接口形式,而沒有具體操作。只有派生類對抽象成員方法的重定義才能真正實現與該派生類相關的操作。在各子類繼承了父類的抽象方法之后,再分別用不同的語句和方法體來重新定義它,形成若干個名字相同、返回值相同、參數列表相同、目的一致但是具體實現有一定差別的方法。抽象類中定義抽象方法的目的是實現一個接口,即所有的子類對外都呈現一個相同名字的方法。
以上是對java抽象類基礎知識的總結,java零基礎的新手在學完面向對象后就可以理解java抽象類的含義了。除了學習這篇文章中介紹的java抽象類概念、特點和實現方法外,還可以在java教程中學習更多的抽象類相關知識,比如純虛函數和抽象類的關系、java抽象類實例化等等的內容,希望大家都可以通過自己的努力全面掌握到抽象類的知識,提高java技能。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習