更新時間:2020-10-27 17:44:20 來源:動力節(jié)點 瀏覽1682次
我們都知道java是面向?qū)ο蟮挠嬎銠C(jī)語言,在面向?qū)ο蟮母拍钪校械膶ο蠖际怯深悂砻枋龅?,但是所有的類都是用來描述對象的?答案并不是,這個時候就有了java抽象類的概念,下面我們來一起認(rèn)識一下java抽象類是什么,學(xué)習(xí)java抽象類的相關(guān)基礎(chǔ)知識。

在java語言中,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,用abstract關(guān)鍵字來修飾一個類時,這個類就叫作java抽象類。抽象類是它的所有子類的公共屬性的集合,是包含一個或多個抽象方法的類,抽象類可以看作是對類的進(jìn)一步抽象。在面向?qū)ο箢I(lǐng)域,抽象類主要用來進(jìn)行類型隱藏。
Java抽象類有以下五個需要知道的特點:
(1)抽象類的修飾符必須為public或者protected,不能是private,因為創(chuàng)建抽象類,就是要被其他類繼承,用private修飾了,則不能被子類繼承,子類便無法實現(xiàn)該方法;
(2)抽象類不能用來創(chuàng)建對象,即抽象類不能被直接實例化,要通過其普通子類進(jìn)行實例化;
(3)如果一個普通子類繼承于一個抽象父類,則該類一定要重寫實現(xiàn)該父類的抽象方法。如果該子類仍然是一個抽象類,這也是允許的,就不必重寫實現(xiàn)該父類的抽象方法,但必須用abstract修飾;
(4)抽象類是對整體類的抽象,包含屬性和方法;
(5)抽象類,其實是從子類中提取共性部分,然后抽象出來,反之,子類繼承該父類就可以了,也就是說里面的抽象方法一般來自同一個類別。
那么使用java抽象類的方法是什么呢?分為一般方法和抽象方法。抽象方法的定義與一般方法不同,抽象方法在方法頭后直接跟分號,而一般方法含有以大括號框住的方法體。所有的抽象方法必須存在于抽象類中。在抽象類中定義的方法稱為抽象方法,這些方法只有方法頭的聲明,而用一個分號來代替方法體的定義,即只定義成員方法的接口形式,而沒有具體操作。只有派生類對抽象成員方法的重定義才能真正實現(xiàn)與該派生類相關(guān)的操作。在各子類繼承了父類的抽象方法之后,再分別用不同的語句和方法體來重新定義它,形成若干個名字相同、返回值相同、參數(shù)列表相同、目的一致但是具體實現(xiàn)有一定差別的方法。抽象類中定義抽象方法的目的是實現(xiàn)一個接口,即所有的子類對外都呈現(xiàn)一個相同名字的方法。

以上是對java抽象類基礎(chǔ)知識的總結(jié),java零基礎(chǔ)的新手在學(xué)完面向?qū)ο蠛缶涂梢岳斫鈐ava抽象類的含義了。除了學(xué)習(xí)這篇文章中介紹的java抽象類概念、特點和實現(xiàn)方法外,還可以在java教程中學(xué)習(xí)更多的抽象類相關(guān)知識,比如純虛函數(shù)和抽象類的關(guān)系、java抽象類實例化等等的內(nèi)容,希望大家都可以通過自己的努力全面掌握到抽象類的知識,提高java技能。