寫在前面
這個問題是好多IT碼農在面試中被問到的問題,但往往卻不能夠給出一個比較全面完美的回答,那麼首先來說說為什麼這個問題這麼容易問到?
接口、抽象類與面向對象編程密不可分,如果理解不了接口和抽象類,那麼就說明對面向對象的掌握不夠好。這裡小編給大家一個建議,學習一下面向對象的設計模式!本人在學習了java 23種設計模式之後,才對接口和抽象類有了一個更深層次的認識!幾乎所有的設計模式裡面都有用到,好像就單例模式中可能用不到,其他的都有用到。
說說區別
1、定義接口的關鍵字是interface ,抽象類的關鍵字是abstract class
2、接口中的方法都是抽象的,抽象類中可以有方法的實現(即非抽象方法)
3、一個類可以實現多個接口,但只能繼承一個抽象類,所以一般來說,可以使用接口實現的儘量使用接口實現。比如Runnable就比Thread使用頻率高的多
4、接口和抽象類中都可以定義變量,但是接口中定義的必須是公共的、靜態的、Final的,抽象類中的變量跟普通類中的沒有區別。
5、抽象類可以包含靜態方法,但是接口中不可以!
6、接口中的方法必須是public的,抽象類中的方法可以使public 和 protected的
7、從設計上來說,接口是對一系列行為的抽象,而抽象類是對事物的抽象。
總結未到之處,歡迎各位大神補充!
相關文章推薦:
相關推薦
'Java是什麼?為什麼要學習Java?Java有哪些特點?'
"在正式開始Java學習之前,先來了解幾個關鍵性問題。那就是什麼是Java,為什麼要學習Java,Java 有哪些特點,Java 有哪些機制,如何來學習 Java 等幾個問題。通過這幾個問題讓大家瞭解 Java 的一些內容,從而展開 Java 的學習。1、java是什麼?J...
'MVP設計模式在安卓編程中的應用'
"大家好,這一期呢,我們來談一下MVP設計模式在安卓編程中的應用。Mvp就是model view presenter。它來源於經典的mvc設計模式。Mvc設計模式可以說是最被廣泛使用的設計模式之一了。先說一下為什麼要使用mvp?我們都知道在安卓編程中activity是既有...
'中秋佳節:沒編程合集大團圓!318本編出電子書籍➕視頻資料項目'
"中秋節佳節,小夥伴們都放假開心的回家團圓去了吧?這不、小編給你們帶來了更開心的事情、那就是給你們準備好了編程合集大團圓!全網最全編程語言視頻教程(從零基礎到大牛哦!)包含java、python、web、大數據、人工智能、等視頻教程+項目+源碼,現在免費分享給各位![領取方...
'絕地求生:中秋小趣事 4AM還是給SMG送了月餅 IFTY戰隊特效秀禮物'
"今年中秋絕地求生的各大戰隊除了征戰PCL夏季賽之外,互相送月餅進行戰隊交際也成了不小的話題。各家戰隊的月餅樣式都非常好看,連藍洞官方也參與到了這場"月餅爭美"的事件中來,送出了一款帶有PUBG特色的月餅盒。而在各方進行送月餅環節後,在中秋佳節9月13日當晚,不少俱樂部都用...
推薦中...