程序員面試之九陰真經(jīng)._第1頁(yè)
已閱讀1頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、程序員面試之九陰真經(jīng) 程序員面試之九陰真經(jīng) 談?wù)?final, finally, finalize 的區(qū)別: final: : :修飾符(關(guān)鍵字)如果一個(gè)類被聲明為 final,意味著它不能再派生出新的子類, 不能作為父類被繼承。 因此一個(gè)類不能既被聲明為 abstract 的,又被聲明為 final 的。將變量或方法聲明為 final,可以保證它們?cè)谑褂弥胁槐桓淖儭?被聲明為 final 的變量必須在聲明時(shí)給定初值, 而在以后的引用

2、中只能讀取,不可修改。被聲明為 final 的方法也同樣只能使用,不能重寫(xiě) finally: : : 再異常處理時(shí)提供 finally 塊來(lái)執(zhí)行任何清除操作。 如果拋出一個(gè)異常, 那么相匹配的 catch 子句就會(huì)執(zhí)行, 然后控制就會(huì)進(jìn)入 finally 塊 (如果有的話) 。 finalize: : :方法名。Java 技術(shù)允許使用 finalize() 方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作。這個(gè)方法是由垃圾收

3、集器在確定這個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。 finalize() 方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的。 Anonymous Inner Class (匿名內(nèi)部類) 是否可以 extends(繼承)其它類, 是否可以 implements(實(shí)現(xiàn))interface(接口): 匿名的內(nèi)部類是沒(méi)有

4、名字的內(nèi)部類。不能 extends(繼承) 其它類,但一個(gè)內(nèi)部類可以作為一個(gè)接口,由另一個(gè)內(nèi)部類實(shí)現(xiàn)。 &和&&的區(qū)別: &是位運(yùn)算符。&&是布爾邏輯運(yùn)算符。 HashMap 和 Hashtable 的區(qū)別: 都屬于 Map 接口的類,實(shí)現(xiàn)了將惟一鍵映射到特定的值上。 HashMap 類沒(méi)有分類或者排序。它允許一個(gè) null 鍵和多個(gè) null 值。 Hashtable 類似于 H

5、ashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因?yàn)樗峭降摹?Hashtable 繼承自 Dictionary 類,而 HashMap 是 Java1.2 引進(jìn)的 Map interface的一個(gè)實(shí)現(xiàn) HashMap 允許將 null 作為一個(gè) entry 的 key 或者 value,而 Hashtable 不允許 還有就是,HashMap 把 Hashtable 的 contains 方法

6、去掉了,改成containsvalue 和 containsKey。因?yàn)?contains 方法容易讓人引起誤解。 最大的不同是,Hashtable 的方法是 Synchronize 的,而 HashMap 不是,用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded 的方法是可以改變返回值的

7、類型。 Set 里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢? 是用==還是 equals()? 它們有何區(qū)別: Set 里的元素是不能重復(fù)的,那么用 iterator()方法來(lái)區(qū)分重復(fù)與否。equals()是判讀兩個(gè) Set 是否相等。 equals()和==方法決定引用值是否指向同一對(duì)象 equals()在類中被覆蓋,為的是當(dāng)兩個(gè)分離的對(duì)象的內(nèi)容和類型相配的話,返回真值。 給我一個(gè)你最常見(jiàn)到的 runtime except

8、ion: ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMExc

9、eption, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeAr

10、raySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetExcepti

11、on, UnsupportedOperationException。 error 和 exception 有什么區(qū)別: error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問(wèn)題。比如說(shuō)內(nèi)存溢出。不可能指望程序能處理這樣的情況。 exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問(wèn)題。也就是說(shuō),它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。 List, Set, Map 是否繼承自 Collection 接口: List,Set 是。 Map

12、不是。 abstract class 和 interface 有什么區(qū)別: 聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class) ,它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建 abstract 類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提

溫馨提示

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

評(píng)論

0/150

提交評(píng)論