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

詳解java中接口與抽象類的區(qū)別

 更新時間:2017年10月30日 10:50:51   作者:tb520ff  
這篇文章主要介紹了詳解java中接口與抽象類的區(qū)別的相關資料,希望通過本文能幫助到大家,讓大家輕松理解掌握接口與抽象類的區(qū)別,需要的朋友可以參考下

詳解java中接口與抽象類的區(qū)別

  1.abstract class 在 Java 語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現(xiàn)多個interface。

  2.在abstract class 中可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態(tài)的不能被修改的數(shù)據(jù)成員(也就是必須是static final的,不過在 interface中一般不定義數(shù)據(jù)成員),所有的成員方法都是abstract的。

  3.abstract class和interface所反映出的設計理念不同。其實abstract class表示的是"is-a"關系,interface表示的是"like-a"關系。

  4.實現(xiàn)抽象類和接口的類必須實現(xiàn)其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現(xiàn)方法。

  5.接口中定義的變量默認是public static final 型,且必須給其初值,所以實現(xiàn)類中不能重新定義,也不能改變其值。

  6.抽象類中的變量默認是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。

  7.接口中的方法默認都是 public,abstract 類型的。

  結(jié)論

  abstract class 和 interface 是 Java語言中的兩種定義抽象類的方式,它們之間有很大的相似性。但是對于它們的選擇卻又往往反映出對于問題領域中的概 念本質(zhì)的理解、對于設計意圖的反映是否正確、合理,因為它們表現(xiàn)了概念間的不同的關系(雖然都能夠?qū)崿F(xiàn)需求的功能)。這其實也是語言的一種的慣用法,希望讀者朋友能夠細細體會。

主要不同點:

1.單繼承與多繼承

2.抽象類可以有自己的實現(xiàn)方法,有非抽象方法,數(shù)據(jù)變量可以不是public的,接口的方法都是public的,沒有自己的實利域,不能自己實現(xiàn)方法,方法都是抽象的,只能有靜態(tài)數(shù)據(jù)。

3.設計意圖,一個是一種抽象,一個是實現(xiàn)我能干什么的功能。

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Java責任鏈模式定義與用法分析

    Java責任鏈模式定義與用法分析

    這篇文章主要介紹了Java責任鏈模式定義與用法,結(jié)合具體實例分析了java責任鏈模式的功能、定義、使用方法、適用情況等,需要的朋友可以參考下
    2017-06-06
  • Spring jndi數(shù)據(jù)源配置方法詳解

    Spring jndi數(shù)據(jù)源配置方法詳解

    這篇文章主要為大家詳細介紹了Spring jndi數(shù)據(jù)源的配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下解
    2017-07-07
  • Java中控制流程語句的深入講解

    Java中控制流程語句的深入講解

    流程控制語句顧名思義就是控制程序走向的語句,其中包括條件語句,分支語句和循環(huán)語句,這篇文章主要給大家介紹了關于Java中控制流程語句的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • SpringBoot整合Canal方法詳解

    SpringBoot整合Canal方法詳解

    這篇文章主要介紹了SpringBoot整合Canal,canal可以用來監(jiān)控數(shù)據(jù)庫數(shù)據(jù)的變化,從而獲得新增數(shù)據(jù),或者修改的數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-12-12
  • SpringMVC處理Form表單實例

    SpringMVC處理Form表單實例

    這篇文章主要介紹了使用SpringMVC處理Form表單實例,非常具有參考借鑒價值,感興趣的朋友一起學習吧
    2016-10-10
  • MyBatis動態(tài)SQL foreach標簽實現(xiàn)批量插入的方法示例

    MyBatis動態(tài)SQL foreach標簽實現(xiàn)批量插入的方法示例

    這篇文章主要介紹了MyBatis動態(tài)SQL foreach標簽實現(xiàn)批量插入的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Java中泛型的接口、通配符使用詳解

    Java中泛型的接口、通配符使用詳解

    這篇文章主要介紹了Java中泛型的接口、通配符使用詳解,編譯時的類型安全監(jiān)測機制,也可以把這個數(shù)據(jù)類型理解成是一種可以傳遞的參數(shù),需要的朋友可以參考下
    2023-08-08
  • Java入門教程--帶包的類如何編譯與運行

    Java入門教程--帶包的類如何編譯與運行

    我們一般都是通過IDE(如Eclipse、Intellij Idea,STS等)來開發(fā),調(diào)試java項目。在不借助IDE的情況下,如何編譯、運行Java程序。打包編譯時,會自動創(chuàng)建包目錄,不需要自己新建包名文件夾。
    2022-12-12
  • 淺析Java編程中枚舉類型的定義與使用

    淺析Java編程中枚舉類型的定義與使用

    這篇文章主要介紹了Java編程中枚舉類型的定義與使用,簡單講解了enum關鍵字與枚舉類的用法,需要的朋友可以參考下
    2016-05-05
  • Java-JFrame窗體美化方式

    Java-JFrame窗體美化方式

    這篇文章主要介紹了Java-JFrame窗體美化方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論

玉屏| 重庆市| 彭阳县| 定陶县| 兴山县| 揭东县| 通江县| 新巴尔虎右旗| 阿尔山市| 彰化县| 合阳县| 绿春县| 景德镇市| 南京市| 邹平县| 景宁| 南靖县| 天祝| 苏尼特右旗| 闸北区| 漳平市| 百色市| 仁化县| 惠东县| 濮阳县| 郎溪县| 闽侯县| 哈尔滨市| 肃北| 蛟河市| 临夏市| 三都| 凤翔县| 南陵县| 关岭| 古蔺县| 巴彦淖尔市| 安远县| 奈曼旗| 上饶县| 彩票|