長沙Java培訓(xùn):Java開發(fā)實用的面試題及答案
對于參加長沙Java培訓(xùn)的學(xué)員來說,找工作是最重要的問題,那么找工作對于Java程序員來說面試題就很重要!下面講解常見面試知識點:
(1)面向?qū)ο蟮奶匦杂心男看穑悍庋b、繼承和多態(tài)。
(2)Java 中覆蓋和重載是什么意思?解析:覆蓋和重載是比較重要的基礎(chǔ)知識點,并且容易混淆,面試中也比較常見。答:覆蓋(Override)是指子類對父類方法的一種重寫,只能比父類拋出更少的異常,訪問權(quán)限不能比父類的小。被覆蓋的方法不能是 private 的,否則只是在子類中重新定義了一個方法。重載(Overload)表示同一個類中可以有多個名稱相同的方法,但這些方法的參數(shù)列表各不相同。
面試官:那么構(gòu)成重載的條件有哪些?答:參數(shù)類型不同、參數(shù)個數(shù)不同、參數(shù)順序不同。面試官:函數(shù)的返回值不同可以構(gòu)成重載嗎?為什么?答:不可以,因為 Java 中調(diào)用函數(shù)并不需要強制賦值。舉例如下:void f(){}int f(){ return 1;}只要編譯器可以根據(jù)語境明確判斷出語義,比如在 int x = f(); 中,那么的確可以據(jù)此區(qū)分重載方法。不過,有時你并不關(guān)心方法的返回值,而想要的是方法調(diào)用的其他效果(這常被稱為“為了副作用而調(diào)用”),這時可能會調(diào)用方法而忽略其返回值,比如像下面的調(diào)用:fun();此時 Java 如何才能判斷調(diào)用的是哪一個 f() 呢?其他人如何理解這種代碼呢?因此,根據(jù)方法返回值來區(qū)分重載方法是行不通的。
(3)抽象類和接口的區(qū)別有哪些?答:抽象類中可以沒有抽象方法,接口中的方法必須是抽象方法;抽象類中可以有普通的成員變量,接口中的變量必須是 static final 類型的,必須被初始化,接口中只有常量,沒有變量;抽象類只能單繼承,接口可以繼承多個父接口;Java 8 中接口中會有 default 方法,即方法可以被實現(xiàn)。接問:抽象類和接口如何選擇?答:如果要創(chuàng)建不帶任何方法定義和成員變量的基類,那么就應(yīng)該選擇接口而不是抽象類;如果知道某個類應(yīng)該是基類,那么第一個選擇的應(yīng)該是讓它成為一個接口,只有在必須要有方法定義和成員變量的時候,才應(yīng)該選擇抽象類,因為抽象類中允許存在一個或多個被具體實現(xiàn)的方法,只要方法沒有被全部實現(xiàn)該類就仍是抽象類。
(4)Java 和 C++ 的區(qū)別是什么?解析:雖然我們不太懂 C++,但也會這么問,尤其是在三面的(總監(jiān)級別)面試中。答:都是面向?qū)ο蟮恼Z言,都支持封裝、繼承和多態(tài)指針,Java 不提供指針來直接訪問內(nèi)存,程序更加安全繼承,Java 的類是單繼承的,C++ 支持多重繼承;Java 通過一個類實現(xiàn)多個接口來實現(xiàn) C++ 中的多重繼承;Java 中類不可以多繼承,但是接口可以多繼承內(nèi)存:Java 有自動內(nèi)存管理機制,不需要程序員手動釋放無用內(nèi)存。
(5)Java 中的值傳遞和引用傳遞解析:這類題目,面試官會手寫一個例子,要求說出函數(shù)執(zhí)行結(jié)果,詳細舉例請查閱我的博客:Java 值傳遞和引用傳遞基礎(chǔ)分析。答:值傳遞是指對象被值傳遞,意味著傳遞了對象的一個副本,即使副本被改變,也不會影響源對象。引用傳遞是指對象被引用傳遞,意味著傳遞的并不是實際的對象,而是對象的引用。因此,外部對引用對象的改變會反映到所有的對象上。
(6)JDK 中常用的包有哪些?答:java.lang、java.util、http://java.io、http://java.net、java.sql。
(7)JDK、JRE 和 JVM 的聯(lián)系和區(qū)別各是什么?答:JDK 是 Java 開發(fā)工具包,是 Java 開發(fā)環(huán)境的核心組件,并提供編譯、調(diào)試和運行一個 Java 程序所需要的所有工具,可執(zhí)行文件和二進制文件,是一個平臺特定的軟件。JRE 是 Java 運行時環(huán)境,是 JVM 的實施實現(xiàn),提供了運行 Java 程序的平臺,JRE 包含了 JVM,但是不包含 Java 編譯器/調(diào)試器之類的開發(fā)工具。
JVM 是 Java 虛擬機,當(dāng)我們運行一個程序時,JVM 負責(zé)將字節(jié)碼轉(zhuǎn)換為特定機器代碼,JVM 提供了內(nèi)存管理/垃圾回收和安全機制等。這種獨立于硬件和操作系統(tǒng),正是 Java 程序可以一次編寫多處執(zhí)行的原因。
區(qū)別:JDK 用于開發(fā),JRE 用于運行 Java 程序JDK 和 JRE 中都包含 JVMJVM 是 Java 編程語言的核心并且具有平臺獨立性O(shè)thers:限于篇幅的關(guān)系,面試中 Java 基礎(chǔ)知識點還有反射、泛型、注解等。

猜你喜歡LIKE
最新文章NEW
相關(guān)推薦HOT
更多>>熱門推薦
參加完長沙Java培訓(xùn)班之后怎么面試找工作?
沸參加長沙IT培訓(xùn)好找工作嗎?這些環(huán)節(jié)能刷掉70%大學(xué)生
熱參加長沙Java培訓(xùn)跳槽去大廠,都有哪些面試要求?
熱千鋒長沙前端培訓(xùn)分享之高級前端面試題整理
新千鋒長沙前端培訓(xùn)分享之中級前端面試題整理
千鋒長沙前端培訓(xùn)分享之初級前端面試題整理
千鋒長沙前端培訓(xùn):Vue相關(guān)面試題
長沙Java培訓(xùn):高并發(fā)編程JUC包面試題及答案
長沙Java培訓(xùn):Java開發(fā)實用的面試題及答案
長沙Java培訓(xùn):2021年Java面試題分享
長沙Java培訓(xùn):2021Java面試題分享
長沙千鋒整理:軟件測試中頻率最高的網(wǎng)絡(luò)協(xié)議面試題,收好了!
長沙IT培訓(xùn)學(xué)員整理:程序員面試10條潛規(guī)則
自學(xué)前端靠這份面試題和答案,也能拿高薪!
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線