欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中的抽象類和接口定義與用法詳解

 更新時間:2021年10月23日 09:11:10   作者:做哈白日夢  
在面向?qū)ο蟮母拍钪校械膶ο蠖际峭ㄟ^類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類

一、抽象類

1.什么叫抽象類?

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

2.抽象類的特點(diǎn):

  • 抽象類與抽象方法必須用abstract關(guān)鍵字進(jìn)行修飾。
  • 抽象類不一定會有抽象方法,而有抽象方法的類一定是抽象類。
  • 抽象類不能實例化,若需實例化,參照多態(tài)的形式,通過子類來進(jìn)行實例化。
  • 繼承了抽象類的子類,則需要重寫抽象類里面的所有抽象方法,要么就是抽象類才行。

3.成員特點(diǎn):

  • 成員變量:可以是變量或者常量。
  • 構(gòu)造方法:有構(gòu)造方法,但是不能實例化,則需要通過多態(tài)子類來進(jìn)行;其中用處是為子類訪問父類來進(jìn)行數(shù)據(jù)初始化。
  • 成員方法:可以是抽象類:限定 子類必須完成的某些行為;也可以為非抽象類,可以提高代碼的復(fù)用性。

二、接口

1.接口是什么?

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

2.接口的特點(diǎn)

  • 需要用關(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。

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

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

到此這篇關(guān)于java中的抽象類和接口定義與用法詳解的文章就介紹到這了,更多相關(guān)Java 抽象類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實現(xiàn)可配置換膚的方法示例

    Java實現(xiàn)可配置換膚的方法示例

    本文主要介紹了Java實現(xiàn)可配置換膚的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Mybatis中l(wèi)ike搭配concat的寫法詳解

    Mybatis中l(wèi)ike搭配concat的寫法詳解

    這篇文章主要介紹了Mybatis中l(wèi)ike搭配concat的寫法詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring Boot項目打包指定包名實現(xiàn)示例

    Spring Boot項目打包指定包名實現(xiàn)示例

    這篇文章主要為大家介紹了Spring Boot項目打包指定包名實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 基于Java實現(xiàn)Json文件轉(zhuǎn)換為Excel文件

    基于Java實現(xiàn)Json文件轉(zhuǎn)換為Excel文件

    這篇文章主要為大家詳細(xì)介紹了如何利用Java實現(xiàn)Json文件轉(zhuǎn)換為Excel文件,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下
    2022-12-12
  • Java精品項目瑞吉外賣之新增菜品與分頁查詢篇

    Java精品項目瑞吉外賣之新增菜品與分頁查詢篇

    這篇文章主要為大家詳細(xì)介紹了java精品項目-瑞吉外賣訂餐系統(tǒng),此項目過大,分為多章獨(dú)立講解,本篇內(nèi)容為新增菜品和分頁查詢功能的實現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Java實現(xiàn)按鍵精靈的示例代碼

    Java實現(xiàn)按鍵精靈的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實現(xiàn)按鍵精靈,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定的參考價值,感興趣的可以學(xué)習(xí)一下
    2022-05-05
  • 詳解Spring?@Profile注解的使用和源碼解析

    詳解Spring?@Profile注解的使用和源碼解析

    這篇文章主要將通過源碼帶大家深入了解一下Spring中@Profile注解的原理與使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • 詳解Java中Callable和Future的區(qū)別

    詳解Java中Callable和Future的區(qū)別

    這篇文章主要介紹了Java中Callable和Future的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-11-11
  • Java后端用EL表達(dá)式改進(jìn)JSP

    Java后端用EL表達(dá)式改進(jìn)JSP

    EL 全名為Expression Language,EL的語法很簡單,它最大的特點(diǎn)就是使用上很方便,本文帶你用EL表達(dá)式改進(jìn)JSP,感興趣的朋友來看看吧
    2022-02-02
  • 在已有spring的基礎(chǔ)上集成hibernate的實例講解

    在已有spring的基礎(chǔ)上集成hibernate的實例講解

    下面小編就為大家?guī)硪黄谝延衧pring的基礎(chǔ)上集成hibernate的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論