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

Java abstract class 與 interface對比

 更新時間:2016年12月30日 17:15:49   投稿:lqh  
這篇文章主要介紹了 Java abstract class 與 interface對比的相關(guān)資料,需要的朋友可以參考下

Java abstract class 與 interface對比

前言

abstract class和interface都是Java用來描述抽象體的,不知道是否有同學(xué)跟我一樣對這兩者的語法層面的區(qū)別以及如何選擇這兩者還存在著疑惑,反正接下來,讓我詳細(xì)介紹一下abstract class和interface。

理解抽象類

在面向?qū)ο蟮母拍钪?,所有的對象都是通過類來描述的。但是反過來卻不是這樣,并不是所有的類都是用來描述對象的。因為這個類中可能沒有足夠的信息來描述一個具體的對象,這樣的類就是抽象類(ps:注意這里的抽象類不是單指abstract class)。抽象類往往用來描述我們對問題領(lǐng)域進(jìn)行分析和設(shè)計后得出來的抽象概念,是對一系列看上去不同,但是本質(zhì)相同的具體概念的抽象。

abstract class 和 interface語法區(qū)別

抽象類和接口的區(qū)別如下:

  1. 抽象類可以有普通的成員變量,而接口中一般沒有成員變量。如果非要在接口中安插成員變量,則成員變量的類型必須為static final類型。
  2. 抽象類中可以包含非抽象的普通方法,而接口中的所有方法都必須是抽象的。
  3. 抽象類中的抽象方法的訪問類型可以是public、protected或者包訪問類型。而接口中的抽象方法只能是public abstract類型,接口的方法前面可以不加修飾符,默認(rèn)就是public abstract類型。
  4. 一個類可以實現(xiàn)多個接口(多繼承的折衷實現(xiàn)),但是只能繼承一個抽象類。

abstract class和interface的使用區(qū)別

abstract class的設(shè)計體現(xiàn)了”is-a”的關(guān)系,而interface體現(xiàn)的是”has-a”的關(guān)系。

什么時候使用接口?

你想擴(kuò)展我給你的東西,就必須實現(xiàn)必需的接口。例如,實現(xiàn)Comparable接口的對象可以直接使用sort方法Collections.sort(List list)排序。

什么時候使用抽象類?

如果你有一個抽象類,它提供了很多通用的功能,并且抽象出了每個子類需要自己去實現(xiàn)的方法。而你設(shè)計的東西恰好基于這個類,那這個實現(xiàn)你就可以去繼承這個抽象類,然后實現(xiàn)自己獨特的方法。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Java框架入門之簡單介紹SpringBoot框架

    Java框架入門之簡單介紹SpringBoot框架

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著SpringBoot框架展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 關(guān)于IDEA配置文件字符集的問題

    關(guān)于IDEA配置文件字符集的問題

    這篇文章主要介紹了關(guān)于IDEA配置文件字符集的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Java中泛型的用法總結(jié)

    Java中泛型的用法總結(jié)

    這篇文章主要介紹了Java中泛型的用法,實例總結(jié)了java中泛型的常見使用技巧,需要的朋友可以參考下
    2015-06-06
  • JAVA大作業(yè)之圖書管理系統(tǒng)實現(xiàn)全解

    JAVA大作業(yè)之圖書管理系統(tǒng)實現(xiàn)全解

    隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展,計算機(jī)應(yīng)用的普及,利用計算機(jī)對圖書館的日常工作進(jìn)行管理勢在必行,本篇文章手把手帶你用Java實現(xiàn)一個圖書管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2022-01-01
  • SpringMVC全局異常處理小結(jié)

    SpringMVC全局異常處理小結(jié)

    在開發(fā)中,不管是dao層、service層還是controller層,都有可能拋出異常,在springmvc中,能將所有類型的異常處理從各處理過程解耦出來,既保證了相關(guān)處理過程的功能較單一,也實現(xiàn)了異常信息的統(tǒng)一處理和維護(hù),本文介紹SpringMVC全局異常處理,感興趣的朋友一起看看吧
    2024-03-03
  • java學(xué)習(xí)筆記之eclipse+tomcat 配置

    java學(xué)習(xí)筆記之eclipse+tomcat 配置

    俗話說:工欲善其事必先利其器,既然要學(xué)習(xí)java,首先把java的開發(fā)環(huán)境搗鼓一下吧,這里我們來談?wù)別clipse+tomcat的配置方法。
    2014-11-11
  • idea創(chuàng)建SpringBoot項目及注解配置相關(guān)應(yīng)用小結(jié)

    idea創(chuàng)建SpringBoot項目及注解配置相關(guān)應(yīng)用小結(jié)

    Spring Boot是Spring社區(qū)發(fā)布的一個開源項目,旨在幫助開發(fā)者快速并且更簡單的構(gòu)建項目,Spring Boot框架,其功能非常簡單,便是幫助我們實現(xiàn)自動配置,本文給大家介紹idea創(chuàng)建SpringBoot項目及注解配置相關(guān)應(yīng)用,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • java正則匹配HTML中a標(biāo)簽里的中文字符示例

    java正則匹配HTML中a標(biāo)簽里的中文字符示例

    這篇文章主要介紹了java正則匹配HTML中a標(biāo)簽里的中文字符,涉及java中文正則及HTML元素操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2017-01-01
  • SpringBoot?實現(xiàn)流控的操作方法

    SpringBoot?實現(xiàn)流控的操作方法

    本文介紹了限流算法的基本概念和常見的限流算法,包括計數(shù)器算法、漏桶算法和令牌桶算法,還介紹了如何在Spring?Boot中使用Guava庫和自定義注解以及AOP實現(xiàn)接口限流功能,感興趣的朋友一起看看吧
    2024-12-12
  • Spring Boot項目搭建的兩種方式

    Spring Boot項目搭建的兩種方式

    springboot簡單快捷方便的優(yōu)點深受用戶喜愛,springboot開發(fā)環(huán)境搭建過程是每個開發(fā)者必須要做的工作,今天小編寫的一篇教程關(guān)于Spring Boot項目搭建方法,通過兩種方式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-06-06

最新評論

哈巴河县| 淮安市| 七台河市| 宁南县| 星子县| 凭祥市| 洛浦县| 崇仁县| 调兵山市| 东至县| 唐海县| 云龙县| 波密县| 凤山县| 正安县| 嘉义县| 绥化市| 峨边| 长乐市| 原平市| 靖边县| 安吉县| 丰原市| 若羌县| 福建省| 弥勒县| 连江县| 紫阳县| 鲁甸县| 南通市| 左贡县| 阳城县| 霞浦县| 禄丰县| 资源县| 老河口市| 西吉县| 南阳市| 荃湾区| 南召县| 蓬安县|