抽象類(abstract class)和介面(interface)有什麼異同?【Java面試題】
1、抽象類可以包含非抽象的方法,而介面中的方法必須是抽象的。
2、繼承抽象類在Java語言體系中體現一種繼承關係,在合理的繼承關係中,父類和派生類比如按存在is-a關係。而實現介面則體現一種has-a關係,實現者僅僅是實現了interface定義的契約而已。
3、抽象類中可以有成員變數,而介面中不能有成員變數。
4、抽象類和介面中都可以包含靜態成員變數,抽象類中的靜態成員變數的屬性可以是任意的,而介面中的靜態成員變數預設且必須是public static final。
5、介面中的抽象方法預設且必須都是public的,而抽象類中的抽象方法可以是public、protect或預設。
6、抽象類中可以有構造方法,但是不能例項化。
7、抽象類中可以有靜態方法(非抽象的),而介面中不能有靜態方法。
8、抽象類中的抽象方法不能用static、synchronized和native連用
相關推薦
抽象類(abstract class)和介面(interface)有什麼異同?【Java面試題】
1、抽象類可以包含非抽象的方法,而介面中的方法必須是抽象的。 2、繼承抽象類在Java語言體系中體現一種繼承關係,在合理的繼承關係中,父類和派生類比如按存在is-a關係。而實現介面則體現一種has-a
【java面試題】Static Nested Class(巢狀類) 和 Inner Class(內部類)的不同 、final、static
前言: 本來是想總結一下inner class 的用法,但是卻發現這幾位頗為親近。索性一起拉出來溜溜。 寫作目的: 跟 static , final, inner class 搞好關係,以便將來遇見了,就像用if ,else一樣,一清二楚。 文中的術語定義以java language spec為準。 先想想
Anonymous Inner Class(匿名內部類)是否可以繼承其它類?是否可以實現介面?【Java面試題】
回答:匿名內部類在實現時必須藉助一個藉口或者一個抽象類或者一個普通類來構造,從這過層次上講匿名內部類是實現了介面或者繼承了類,但是不能通過extends或implement關鍵詞來繼承類或實現介面。
【Java面試題】spring+springMVC+mybatis原理及實現機制(持續更新)
本文將持續更新,主要講解SSM框架的底層原理和實現機制等 1.什麼是IOC? IOC即Inverse of Control,它包括兩個內容:控制與反轉 那到底什麼東西的“控制”被“反轉”了呢?對於軟體而言,即是某一個介面具體實現類的選擇控制權從呼叫類中移除,轉交給第三
【Java面試題】11 什麼是內部類?Static Nested Class 和 Inner Class的不同。
Inner Class(內部類)定義在類中的類。 (一般是JAVA的說法) Nested Class(巢狀類)是靜態(static)內部類。(一般是C++的說法) 靜態內部類:1 建立一個static內部類的物件,不需要一個外部類物件2 不能從一個static內部類的一
【Java面試題】一次完整的Http請求過程(非常詳細)
④ 如果在hosts檔案中也沒有找到對應的條目,瀏覽器就會發起一個DNS的系統呼叫,就會向本地配置的首選DNS伺服器(本地DNS伺服器,一般是電信運營商提供的,也可以使用像Google提供的DNS伺服器)發起域名解析請求(遞迴,通過的是UDP協議向DNS的53埠發起請求,這個請求是遞迴的請求,也就是運營商的D
【Java面試題】抽象類是否可繼承實體類
一道java 常見面試題,網上找到的幾乎每個 java 面試筆試題大全或集錦裡都能找到這道題。 題目如下: 問: 抽象類是否可繼承實體類 (concrete class) 答: 抽象類是可以繼承實體類,但前提是實體類必須有明確的建構函式 答案很明確,可以繼承。其實從Ob
【Java面試題】之類載入:從面試題分析Java類載入機制
“載入”(Loading)階段是“類載入”(Class Loading)過程的第一個階段,在此階段,虛擬機器需要完成以下三件事情: 1、 通過一個類的全限定名來獲取定義此類的二進位制位元組流。 2、 將這個位元組流所代表的靜態儲存結構轉化為方法區的執行時資料結
【Java面試題】對於構造方法的疑問?——與類的初始化
一,疑問從學習java至今,我一直對構造方法存在很多疑問,在此將我的疑問throw,你們可以catch到嗎?面試官 :你說下構造方法吧!我 :((⊙o⊙)… ,構造方法有什麼聊的,物件的new不是一直在用嗎?) 構造方法是一種特殊的方法,它是一個與類同名且沒有
【Java面試題】之三次握手和四次揮手
本文內容大部分轉載自:http://blog.csdn.net/whuslei/article/details/6667471/ 原文獲得了54萬的閱讀量,說明改文章的質量很高 同時,博主在原文的基礎上也補充了一些內容 建立TCP需要三次握手才能建立,而斷開連線則需要
【Java面試題】之Object類中方法詳解
之前看到有人分享的面經,面試官先問Object中有什麼方法,然後再要求解釋每一次方法的作用。 先看看Object中有什麼方法 Object類是Java中所有類的基類。位於java.lang包中,一共有13個方法 方法一 Object() 即Object的構造方法 大
抽象類(abstract class)和介面(interface)有什麼異同?
抽象類和介面都不能夠例項化,但可以定義抽象類和介面型別的引用。一個類如果繼承了某個抽象類或者實現了某個介面都需要對其中的抽象方法全部進行實現,否則該類仍然需要被宣告為抽象類。介面比抽象類更加抽象,因為抽象類中可以定義構造器,可以有抽象方法和具體方法,而介面中不能定義構造器而且其中的方法全部都是抽象方
java基礎(六)抽象類(abstract class)和介面(Interface)
抽象類(abstract class)和介面(Interface)是Java語言中對於抽象類定義進行支援的兩種機制,賦予了Java強大的面向物件能力。 二者具有很大的相似性,甚至可以相互替換,因此很多開發者在進行抽象類定義時對於abstractclass和Interface的選擇顯得比較
抽象類(abstract class)和介面(Interface)的區別
前言 抽象類(abstract class)和介面(Interface)是Java語言中對於抽象類定義進行支援的兩種機制,賦予了Java強大的面向物件能力。二者具有很大的相似性,甚至可以相互替換,因此很多開發者在進行抽象類定義時對於abstractclass和Interfa
PHP中的 抽象類(abstract class)和 介面(interface)
一、 抽象類abstract class 1 .抽象類是指在 class 前加了 abstract 關鍵字且存在抽象方法(在類方法 function 關鍵字前加了 abstract 關鍵字)的類。 2 .抽象類不能被直接例項化。抽象類中只定義(或部分實現)子類需
抽象類(abstract class)和介面(interface)有什麼區別
含有abstract修飾符的class即為抽象類,abstract類不能建立的實力物件。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class類中定義的抽象方法必須在具
【一道面試題】一個".java"原始檔中是否可以包括多個類(不是內部類)?有什麼限制?
這個面試題的答案在網上一搜一大把 但都是兩句話就結束了,我們來仔細看一下具體是什麼情況! 首先 肯定的一點是一個.java的原始檔中是可以包含多個類的,但是public類只能有一個,並且類名要和檔名相同,如果有兩個public類 就會報出以下的錯誤 這
【Java面試題系列】:Java基礎知識面試題,看這一篇就夠了(持續更新)
文中面試題從茫茫網海中精心篩選,如有錯誤,歡迎指正! 1.前言 參加過社招的同學都瞭解,進入一家公司面試開發崗位時,填寫完個人資訊後,一般都會讓先做一份筆試題,然後公司會根據筆試題的回答結果,確定要不要繼續此次面試,如果答的不好,有些公司可能會直接說“技術經理或者總監在忙,你先回去等通知吧”,有些公司
類(class),抽象類(abstract), 介面(interface)的關係和區別
抽象類: 抽象類不能被例項化 抽象類可以不包含抽象類, 但是有抽象類的方法一定是抽象類 任何子類必須重寫父類的抽象方法, 或者自己也是抽象類 抽象類中的抽象方法只是宣告,不包含
抽象類(abstract class)和接口(interface)有什麽異同?
否則 繼承 默認 strong 什麽 成員 -s 實例 abstract 相同點: 1.抽象類和接口都不能被實例化,但可以定義抽象類和接口類型的引用。 2.一個類如果繼承了抽象類和接口,必須要對其中的抽象方法全部實現。(接口中方法默認的是public abstract修飾的