溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java中的抽象類和接口如何定義使用

發(fā)布時間:2022-03-04 14:39:26 來源:億速云 閱讀:150 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下java中的抽象類和接口如何定義使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、抽象類

1.什么叫抽象類?

例如在生活中我們都把狗和貓歸為動物著一類中,但當(dāng)只說動物時,我們是不知道是貓還是狗還是其他的。所以動物就是所謂的抽象類,貓和狗則是具體的類了。因此在Java中,一個沒有方法體的方法應(yīng)該定義為抽象類,而類中有抽象方法,則必須為抽象類。

2.抽象類的特點:

  • 抽象類與抽象方法必須用abstract關(guān)鍵字進(jìn)行修飾。

  • 抽象類不一定會有抽象方法,而有抽象方法的類一定是抽象類。

  • 抽象類不能實例化,若需實例化,參照多態(tài)的形式,通過子類來進(jìn)行實例化。

  • 繼承了抽象類的子類,則需要重寫抽象類里面的所有抽象方法,要么就是抽象類才行。

3.成員特點:

  • 成員變量:可以是變量或者常量。

  • 構(gòu)造方法:有構(gòu)造方法,但是不能實例化,則需要通過多態(tài)子類來進(jìn)行;其中用處是為子類訪問父類來進(jìn)行數(shù)據(jù)初始化。

  • 成員方法:可以是抽象類:限定 子類必須完成的某些行為;也可以為非抽象類,可以提高代碼的復(fù)用性。

二、接口

1.接口是什么?

接口是一種公共的規(guī)范標(biāo)準(zhǔn),是表示一個類所需要的附加條件,所以只需要符合規(guī)范標(biāo)準(zhǔn),都可以運用。Java中的接口主要體現(xiàn)于對行為的抽象。

2.接口的特點

  • 需要用關(guān)鍵字interface來進(jìn)行修飾。

  • 類的實現(xiàn)接口需要用implements來表示

  • 接口不能實例化,若要實例化,則參照多態(tài)的形式來進(jìn)行實例化,稱為接口多態(tài)。因此多態(tài)的形式主要有:具體類的多態(tài),抽象多態(tài),接口多態(tài)。

  • 接口的實現(xiàn)類:要么重寫接口里面的抽象方法,要么是抽象類。

3.接口的組成成員

  • 1.成員變量:只能是常量,默認(rèn)由'public static final‘來進(jìn)行修飾。

  • 2,構(gòu)造方法:接口沒有構(gòu)造方法,因為接口主要是對于行為進(jìn)行抽象,沒有具體的存在。

  • 注意事項:一個類沒有父類則默認(rèn)繼承Object類。

  • 3.成員方法:

抽象方法:接口默認(rèn)的方法為抽象方法。默認(rèn)為public static abstract來進(jìn)行修飾。

默認(rèn)方法:默認(rèn)方法是在部分實現(xiàn)類需要添加的方法時所用到的方法,是需要在接口里面用defaul修飾,實現(xiàn)類里可以不用重寫,但重寫時是需要刪除default。

java中的抽象類和接口如何定義使用

靜態(tài)方法:靜態(tài)方法是只能在接口中去添加,不能被實現(xiàn)類去調(diào)用,只能被接口名調(diào)用并被static修飾。

java中的抽象類和接口如何定義使用

私有方法:私有方法主要是在接口里面進(jìn)行使用,有private關(guān)鍵字進(jìn)行修飾,通過將相同的代碼段寫在私有方法里面,提高了代碼的復(fù)用性和簡便性,靜態(tài)的私有方法只能用靜態(tài)來進(jìn)行修飾,非靜態(tài)的可以有非靜態(tài)和靜態(tài)方法都能修飾。

java中的抽象類和接口如何定義使用

4.類與抽象的關(guān)系:

java中的抽象類和接口如何定義使用

5.抽象類與接口的區(qū)別:

抽象類主要是對于事物的抽象,接口主要是對于行為的抽象。

以上是“java中的抽象類和接口如何定義使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI