最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、抽象類

1.什么叫抽象類?

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

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

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

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

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

二、接口

1.接口是什么?

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

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

  • 需要用關(guān)鍵字interface來進(jìn)行修飾。
  • 類的實(shí)現(xiàn)接口需要用implements來表示
  • 接口不能實(shí)例化,若要實(shí)例化,則參照多態(tài)的形式來進(jìn)行實(shí)例化,稱為接口多態(tài)。因此多態(tài)的形式主要有:具體類的多態(tài),抽象多態(tài),接口多態(tài)。
  • 接口的實(shí)現(xiàn)類:要么重寫接口里面的抽象方法,要么是抽象類。

3.接口的組成成員

  • 1.成員變量:只能是常量,默認(rèn)由'public static final‘來進(jìn)行修飾。
  • 2,構(gòu)造方法:接口沒有構(gòu)造方法,因?yàn)榻涌谥饕菍?duì)于行為進(jìn)行抽象,沒有具體的存在。
  • 注意事項(xiàng):一個(gè)類沒有父類則默認(rèn)繼承Object類。
  • 3.成員方法:

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

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

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

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

相關(guān)文章

  • IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn)

    IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn)

    這篇文章主要介紹了IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2020-06-06
  • java編程經(jīng)典案例之基于斐波那契數(shù)列解決兔子問題實(shí)例

    java編程經(jīng)典案例之基于斐波那契數(shù)列解決兔子問題實(shí)例

    這篇文章主要介紹了java編程經(jīng)典案例之基于斐波那契數(shù)列解決兔子問題,結(jié)合完整實(shí)例形式分析了斐波那契數(shù)列的原理及java解決兔子問題的相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • java控制臺(tái)輸出圖書館管理系統(tǒng)

    java控制臺(tái)輸出圖書館管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java控制臺(tái)輸出圖書館管理系統(tǒng),只用java代碼不用數(shù)據(jù)庫和GUI等,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • SpringCloud Zuul過濾器和谷歌Gauva實(shí)現(xiàn)限流

    SpringCloud Zuul過濾器和谷歌Gauva實(shí)現(xiàn)限流

    這篇文章主要介紹了SpringCloud Zuul過濾器和谷歌Gauva實(shí)現(xiàn)限流,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java使用cxf發(fā)布及調(diào)用webservice接口的方法詳解

    Java使用cxf發(fā)布及調(diào)用webservice接口的方法詳解

    今天小編就為大家分享一篇關(guān)于Java使用CXF發(fā)布及調(diào)用WebService接口的方法,文中通過代碼示例給大家介紹的非常詳細(xì),具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2023-08-08
  • MyBatis使用Map與模糊查詢的方法示例

    MyBatis使用Map與模糊查詢的方法示例

    這篇文章主要給大家介紹了關(guān)于MyBatis使用Map與模糊查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • java的IO流詳細(xì)解讀

    java的IO流詳細(xì)解讀

    這篇文章主要介紹了java的IO流詳細(xì)解讀,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Springboot mybatis-plus配置及用法詳解

    Springboot mybatis-plus配置及用法詳解

    這篇文章主要介紹了Springboot mybatis-plus配置及用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • jvm原理之SystemGC源碼分析

    jvm原理之SystemGC源碼分析

    這篇文章主要介紹了jvm源碼分析之SystemGC的完全解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-01-01
  • Java Servlet請(qǐng)求重定向的方法

    Java Servlet請(qǐng)求重定向的方法

    這篇文章主要介紹了使用Java Servlet請(qǐng)求重定向的方法,幫助大家更好的理解和學(xué)習(xí)Java Servlet的相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論

驻马店市| 石嘴山市| 宾阳县| 黑龙江省| 浦县| 康乐县| 包头市| 乡宁县| 阳高县| 广德县| 将乐县| 商城县| 建德市| 庆阳市| 南和县| 塔城市| 达日县| 青铜峡市| 海原县| 巴南区| 兴业县| 邻水| 增城市| 社旗县| 隆尧县| 武宣县| 建宁县| 丹寨县| 余江县| 视频| 兴宁市| 阿城市| 常宁市| 海安县| 阳朔县| 江达县| 平湖市| 嘉祥县| 沁水县| 宁武县| 盱眙县|