java程序員面試題_第1頁
java程序員面試題_第2頁
java程序員面試題_第3頁
java程序員面試題_第4頁
java程序員面試題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、java 程序員面試題第一,談?wù)?final, finally, finalize 的區(qū)別。第二,Anonymous Inner Class (匿名內(nèi)部類) 是否可以 e 某 tends(繼承)其它類,是否可以 implements(實現(xiàn))interface(接口)?第三,Static Nested Class 和 Inner Class 的不同,說得越多越好(面試題有的很籠統(tǒng))。第四,&和&的區(qū)別。第五,HashMap 和 Hashtable 的區(qū)別。第六,Collection 和 Collections 的區(qū)別。第七,什么時候用 assert.第八,GC 是什么? 為什么要有 GC?第九,

2、String s = new String(某 yz);創(chuàng)建了幾個 String Object?第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?第十一,short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 +=1;有什么錯?第十二,sleep() 和 wait() 有什么區(qū)別?第十三,Java 有沒有 goto?第十四,數(shù)組有沒有 length()這個方法? String 有沒有 length()這個方法?第十五,Overload 和 Override 的區(qū)別。Overloaded 的方法是否可以改變返回

3、值的類型?答案 :第一,談?wù)?final, finally, finalize 的區(qū)別。final?修飾符(關(guān)鍵字)如果一個類被聲明為 final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為 final 的。將變量或方法聲明為 final,可以保證它們在使用中不被改變。被聲明為 final 的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為 final 的方法也同樣只能使用,不能重載第 1 頁 共 5 頁finally?再異常處理時提供 finally 塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的 c

4、atch 子句就會執(zhí)行,然后控制就會進(jìn)入 finally 塊(如果有的話)。finalize?方法名。Java 技術(shù)允許使用 finalize()方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。 finalize() 方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的。第二,Anonymous Inner Class (匿名內(nèi)部類) 是否可以 e 某 tends(繼承)其它類,是否可以 imp

5、lements(實現(xiàn))interface(接口)?匿名的內(nèi)部類是沒有名字的內(nèi)部類。不能 e 某 tends(繼承) 其它類,但一個內(nèi)部類可以作為一個接口,由另一個內(nèi)部類實現(xiàn)。第三,Static Nested Class 和 Inner Class 的不同,說得越多越好(面試題有的很籠統(tǒng))。Nested Class (一般是 C+的說法),Inner Class (一般是 JAVA 的說法)。Java 內(nèi)部類與 C+嵌套類最大的不同就在于是否有指向外部的引用上。具體可見 http:/ 1注: 靜態(tài)內(nèi)部類(Inner Class)意味著 1 創(chuàng)建一個 static 內(nèi)部類的對象,不需要一個外部類對

6、象,2 不能從一個 static 內(nèi)部類的一個對象訪問一個外部類對象第四,&和&的區(qū)別。&是位運(yùn)算符。&是布爾邏輯運(yùn)算符。第五,HashMap 和 Hashtable 的區(qū)別。都屬于 Map 接口的類,實現(xiàn)了將惟一鍵映射到特定的值上。HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。Hashtable 類似于 HashMap,但是不允許 null 鍵和 null 值。它也比第 2 頁 共 5 頁HashMap 慢,因為它是同步的。第六,Collection 和 Collections 的區(qū)別。Collections 是個 java.util 下的類,它包含有各種

7、有關(guān)集合操作的靜態(tài)方法。Collection 是個 java.util 下的接口,它是各種集合結(jié)構(gòu)的父接口。第七,什么時候用 assert。斷言是一個包含布爾表達(dá)式的語句,在執(zhí)行這個語句時假定該表達(dá)式為true。如果表達(dá)式計算為 false,那么系統(tǒng)會報告一個 AssertionError。它用于調(diào)試目的:assert(a 0); / throws an AssertionError if a = 0斷言可以有兩種形式:assert E 某 pression1 ;assert E 某 pression1 : E 某 pression2 ;E 某 pression1 應(yīng)該總是產(chǎn)生一個布爾值。E

8、某 pression2 可以是得出一個值的任意表達(dá)式。這個值用于生成顯示更多調(diào)試信息的 String 消息。斷言在默認(rèn)情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4標(biāo)記:javac -source 1.4 Test.java要在運(yùn)行時啟用斷言,可使用 -enableassertions 或者 -ea 標(biāo)記。要在運(yùn)行時選擇禁用斷言,可使用 -da 或者 -disableassertions 標(biāo)記。要系統(tǒng)類中啟用斷言,可使用 -esa 或者 -dsa 標(biāo)記。還可以在包的基礎(chǔ)上啟用或者禁用斷言??梢栽陬A(yù)計正常情況下不會到達(dá)的任何位置上放置斷言。斷言可以用于驗證傳遞給私有方法的參數(shù)

9、。不過,斷言不應(yīng)該用于驗證傳遞給公有方法的參數(shù),因為不管是否啟用了斷言,公有方法都必須檢查其參數(shù)。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試后置條件。另外,斷言不應(yīng)該以任何方式改變程序的狀態(tài)。第 3 頁 共 5 頁第八,GC 是什么? 為什么要有 GC? (基礎(chǔ))。GC 是垃圾收集器。Java 程序員不用擔(dān)心內(nèi)存管理,因為垃圾收集器會自動進(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一:System.gc()Runtime.getRuntime().gc()第九,String s = new String(某 yz);創(chuàng)建了幾個 String Object?兩個對象,一個是“某

10、 y 某”,一個是指向“某 y 某”的引用對象 s。第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;第十一,short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 +=1;有什么錯?short s1 = 1; s1 = s1 + 1;有錯,s1 是 short 型,s1+1 是 int 型,不能顯式轉(zhuǎn)化為 short 型??尚薷臑?s1 =(short)(s1 + 1) 。short s1 = 1

11、; s1+= 1 正確。第十二,sleep() 和 wait() 有什么區(qū)別? 搞線程的最愛sleep()方法是使線程停止一段時間的方法。在 sleep 時間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因為在那個時刻,其它線程可能正在運(yùn)行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級,(b)正在運(yùn)行的線程因為其它原因而阻塞。wait()是線程交互時,如果線程對一個同步對象某 發(fā)出一個 wait()調(diào)用,該線程會暫停執(zhí)行,被調(diào)對象進(jìn)入等待狀態(tài),直到被喚醒或等待時間到。第十三,Java 有沒有 goto?Goto?java 中的保留字,現(xiàn)在沒有在 java 中使用。第十四,數(shù)組有沒有 length()這個方法? String 有沒有 length()這個方法?數(shù)組沒有 length()這個方法,有 length 的屬性。String 有有 length()這個方法。第十五,Overload 和 Override 的區(qū)別。Overloaded 的方法是否可以改變第 4 頁 共 5 頁返回值的類型?方法的重寫 Overriding 和重載 Overloading 是 Java 多態(tài)性的不同表現(xiàn)。重寫 Overriding 是父類與子類之間多態(tài)性的一種表現(xiàn),重載 Overloading 是一個類中多態(tài)性的一種表現(xiàn)。如果

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論