溫馨提示×

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

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

java中的抽象類(lèi)和接口怎么定義使用

發(fā)布時(shí)間:2023-05-04 11:26:02 來(lái)源:億速云 閱讀:108 作者:zzz 欄目:編程語(yǔ)言

今天小編給大家分享一下java中的抽象類(lèi)和接口怎么定義使用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

一、抽象類(lèi)

1.什么叫抽象類(lèi)?

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

2.抽象類(lèi)的特點(diǎn):
  • 抽象類(lèi)與抽象方法必須用abstract關(guān)鍵字進(jìn)行修飾。

  • 抽象類(lèi)不一定會(huì)有抽象方法,而有抽象方法的類(lèi)一定是抽象類(lèi)。

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

  • 繼承了抽象類(lèi)的子類(lèi),則需要重寫(xiě)抽象類(lèi)里面的所有抽象方法,要么就是抽象類(lèi)才行。

3.成員特點(diǎn):
  • 成員變量:可以是變量或者常量。

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

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

二、接口

1.接口是什么?

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

2.接口的特點(diǎn)
  • 需要用關(guān)鍵字interface來(lái)進(jìn)行修飾。

  • 類(lèi)的實(shí)現(xiàn)接口需要用implements來(lái)表示

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

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

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

  • 2,構(gòu)造方法:接口沒(méi)有構(gòu)造方法,因?yàn)榻涌谥饕菍?duì)于行為進(jìn)行抽象,沒(méi)有具體的存在。

  • 注意事項(xiàng):一個(gè)類(lèi)沒(méi)有父類(lèi)則默認(rèn)繼承Object類(lèi)。

  • 3.成員方法:

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

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

java中的抽象類(lèi)和接口怎么定義使用

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

java中的抽象類(lèi)和接口怎么定義使用

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

java中的抽象類(lèi)和接口怎么定義使用

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

java中的抽象類(lèi)和接口怎么定義使用

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

抽象類(lèi)主要是對(duì)于事物的抽象,接口主要是對(duì)于行為的抽象。

以上就是“java中的抽象類(lèi)和接口怎么定義使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

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

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

AI