comparable接口和comparator接口的作用和区别?_接口和抽象类有什么联系和区别?
生活随笔
收集整理的這篇文章主要介紹了
comparable接口和comparator接口的作用和区别?_接口和抽象类有什么联系和区别?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
春風如貴客,一到便繁華。各位看官點贊再看,養成好習慣(●′?`●)之后還會推出JAVA面試系列文章,敬請關注!按照技術模塊:Java熱點技術、多線程、微服務、JVM、Redis、消息隊列、SQL相關的面試題。不要走開,稍后更精彩!
————————————————
版權聲明:本文為CSDN博主「李人」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_26465035/article/details/103160711
抽象類:
- 一個類中有抽象方法,這個類就變成了抽象類。
- 抽象類中class的前面必須有abstract修飾符。
- 抽象類中可以有普通方法,也可以有抽象方法,而抽象方法的個數可以是0個,也可以是多個。
- 子類繼承父類,必須重寫全部的抽象方法,除非這個類也變成了抽象類。
接口:
- 表面上看,接口是一種特殊的抽象類,但是類是類,接口是接口,是并列的關系。
- 接口中所有方法都必須是抽象的。(1.8之后允許接口定義非抽象方法)
- 接口中方法定義默認為public abstract類型,成員變量默認為public static final 類型。(如果省略,系統會默認補全)。
抽象類和普通類的區別:
包含抽象方法的類稱為抽象類,但并不意味著抽象類中只能有抽象方法,和普通類一樣,同樣可以擁有成員變量和普通的成員方法,抽象類和普通類的區別如下:
- 抽象方法的訪問修飾符必須為public和protected。
- 抽象類不能被實例化。
- 如果一個類繼承于抽象類,則子類必須實現父類的抽象方法,如果子類沒有實現父類的抽象方法,則子類必須也一個抽象類。
抽象類和接口區別如下:
- 一個類只能繼承一個抽象類,而一個類可以實現多個接口。
- 抽象類可以有構造方法,接口中不能有構造方法。
- 抽象類中可以有成員變量,接口中沒有成員變量。(被final修飾變成了常量)
- 抽象類中可以有普通方法,接口中所有方法都必須是抽象的。(1.8后允許接口定義非抽象方法)
- 抽象類中抽象方法的訪問類型可以是public,protected,但接口中抽象方法的訪問類型只能是public,并且默認為public abstract(省略則自動默認補全)。
- 抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是public static final類型的;
- 抽象類中可以有靜態代碼塊和靜態方法,接口中不能含有靜態代碼塊以及靜態方法
總結
以上是生活随笔為你收集整理的comparable接口和comparator接口的作用和区别?_接口和抽象类有什么联系和区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac mysql安装_Mac下MySQ
- 下一篇: 后处理没有pui文件怎么打开_UG后处理