摘要:一抽象類與接口參數抽象類接口默認的方法實現它可以有默認的方法實現接口完全是抽象的。它根本不存在方法的實現實現子類使用關鍵字來繼承抽象類。抽象類是對整個類整體進行抽象,包括屬性行為,但是接口卻是對類局部行為進行抽象。
一:抽象類與接口
參數 | 抽象類 | 接口 |
---|---|---|
默認的方法實現 | 它可以有默認的方法實現 | 接口完全是抽象的。它根本不存在方法的實現 |
實現 | 子類使用extends關鍵字來繼承抽象類。如果子類不是抽象類的話,它需要提供抽象類中所有聲明的方法的實現。 | 子類使用關鍵字implements來實現接口。它需要提供接口中所有聲明的方法的實現 |
構造器 | 抽象類可以有構造器 | 接口不能有構造器 |
與正常Java類的區別 | 除了你不能實例化抽象類之外,它和普通Java類沒有任何區別 | 接口是完全不同的類型 |
訪問修飾符 | 抽象方法可以有public、protected和default這些修飾符 | 接口方法默認修飾符是public。你不可以使用其它修飾符。 |
main方法 | 抽象方法可以有main方法并且我們可以運行它 | 接口沒有main方法,因此我們不能運行它。 |
多繼承 | 抽象方法可以繼承一個類和實現多個接口 | 接口只可以繼承一個或多個其它接口 |
速度 | 它比接口速度要快 | 接口是稍微有點慢的,因為它需要時間去尋找在類中實現的方法。 |
添加新方法 | 如果你往抽象類中添加新的方法,你可以給它提供默認的實現。因此你不需要改變你現在的代碼。 | 如果你往接口中添加方法,那么你必須改變實現該接口的類。 |
面試中的相關的問題:
抽象類和接口之間的區別?
什么時候創建抽象類?什么時候創建接口?
設計框架時該如何選擇?
不錯的文章:
https://juejin.im/entry/59fa7...
抽象類是對一種事物的抽象,即對類抽象,而接口是對行為的抽象。抽象類是對整個類整體進行抽象,包括屬性、行為,但是接口卻是對類局部(行為)進行抽象。舉個簡單的例子,飛機和鳥是不同類的事物,但是它們都有一個共性,就是都會飛。那么在設計的時候,可以將飛機設計為一個類Airplane,將鳥設計為一個類Bird,但是不能將 飛行 這個特性也設計為類,因此它只是一個行為特性,并不是對一類事物的抽象描述。此時可以將 飛行 設計為一個接口Fly,包含方法fly( ),然后Airplane和Bird分別根據自己的需要實現Fly這個接口。然后至于有不同種類的飛機,比如戰斗機、民用飛機等直接繼承Airplane即可,對于鳥也是類似的,不同種類的鳥直接繼承Bird類即可。從這里可以看出,繼承是一個 "是不是"的關系,而 接口 實現則是 "有沒有"的關系。如果一個類繼承了某個抽象類,則子類必定是抽象類的種類,而接口實現則是有沒有、具備不具備的關系,比如鳥是否能飛(或者是否具備飛行這個特點),能飛行則可以實現這個接口,不能飛行就不實現這個接口。
二:內部類內部類,主要是設計出來用來解決java中所‘缺少’的,多重繼承的概念的。
至于細節等以后再回過頭來看,現在沒有實際應用場景談也只能是扯概念。
三:string類,array類文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77677.html
摘要:操作之連接以及簡單操作下載對應的驅動包下載創建一個連接類連接主機地址端口號登錄密碼連接服務器權限認證連接完成會返回緩存鏈接錯誤查詢所有中的查詢所有的為通配符清除所有的中的是清除所有的的命令如果清理完成,會返回完整的代碼聲明對象測試地址端口密 Java操作Redis之連接以及簡單操作 1.下載對應的驅動包 下載 jedis.jar :https://mvnrepository.com/a...
摘要:,用于調用垃圾收集器,在調用時,垃圾收集器將運行以回收未使用的內存空間。然而調用附帶一個免責聲明,無法保證對垃圾收集器的調用。所以并不能說是完美主動進行了垃圾回收。 歡迎進入JAVA基礎課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎知識點進行講解,為平時歸納所總結,不管是剛接觸JAVA開發菜鳥還是業界資深人士,都希...
摘要:是一個由寫的存儲系統。是一個開源的使用語言編寫遵守協議支持網絡可基于內存亦可持久化的日志型數據庫,并提供多種語言的。它通常被稱為數據結構服務器,因為值可以是字符串哈希列表集合和有序集合等類型。 REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。Redis是一個開源的使用ANSI C語言編寫、遵...
摘要:是一個由寫的存儲系統。是一個開源的使用語言編寫遵守協議支持網絡可基于內存亦可持久化的日志型數據庫,并提供多種語言的。它通常被稱為數據結構服務器,因為值可以是字符串哈希列表集合和有序集合等類型。 REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。Redis是一個開源的使用ANSI C語言編寫、遵...
閱讀 1090·2021-11-15 18:00
閱讀 2803·2021-09-22 15:18
閱讀 1965·2021-09-04 16:45
閱讀 750·2019-08-30 15:55
閱讀 3853·2019-08-30 13:10
閱讀 1332·2019-08-30 11:06
閱讀 1984·2019-08-29 12:51
閱讀 2294·2019-08-26 13:55