版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、程序員面試之九陰真經談談談談finalfinalfinallyfinallyfinalizefinalize的區(qū)別的區(qū)別:final:::修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修
2、改。被聲明為final的方法也同樣只能使用,不能重載finally:::再異常處理時提供finally塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的catch子句就會執(zhí)行,然后控制就會進入finally塊(如果有的話)。finalize:::方法名。Java技術允許使用finalize()方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在Object
3、類中定義的,因此所有的類都繼承了它。子類覆蓋finalize()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize()方法是在垃圾收集器刪除對象之前對這個對象調用的。AnonymousAnonymousInnerInnerClassClass(匿名內部類匿名內部類)是否可以是否可以extends(extends(繼承繼承)其它類,是否可以其它類,是否可以implements(implements(實現實現)interface()i
4、nterface(接口接口):匿名的內部類是沒有名字的內部類。不能extends(繼承)其它類,但一個內部類可以作為一個接口,由另一個內部類實現。String(“xyz“)創(chuàng)建了幾個創(chuàng)建了幾個StringStringObjectObject:兩個對象,一個是“xyx”一個是指向“xyx”的引用對象s。Math.round(11.5)Math.round(11.5)等於多少等於多少Math.round(11.5)Math.round(11
5、.5)等於多少等於多少:Math.round(11.5)返回(long)12,Math.round(11.5)返回(long)11。shtshts1s1=11s1s1=s1s111有什么錯有什么錯shtshts1s1=11s1s1==11有什么錯:有什么錯:shts1=1s1=s11有錯,s1是sht型,s11是int型不能顯式轉化為sht型??尚薷臑閟1=(sht)(s11)。shts1=1s1=1正確。sleep()sleep()和
6、wait()wait()有什么區(qū)別:有什么區(qū)別:sleep()方法是使線程停止一段時間的方法。在sleep時間間隔期滿后,線程不一定立即恢復執(zhí)行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。接口(interface)是抽象類的變體。在接口中,所有方
7、法都是抽象的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義staticfinal成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為。當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現了該接口的類的任何對象上調用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯編將生效。引用可以轉換到接口類型或從接口類型轉換,in
8、stanceof運算符可以用來決定某對象的類是否實現了接口。接口是否可繼承接口接口是否可繼承接口抽象類是否可實現抽象類是否可實現(implements)(implements)接口接口抽象類是否可繼承實體類抽象類是否可繼承實體類(concrete(concreteclass)class):接口可以繼承接口。抽象類可以實現(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。啟動一個線程是用啟動一個線程
9、是用run()run()還是還是start()start():啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處于可運行狀態(tài),這意味著它可以由JVM調度并執(zhí)行。這并不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。構造器構造器ConstructConstruct是否可被是否可被overrideoverride:構造器Construct不能被繼承,因此不能重寫Overriding,但可以被重載Ov
10、erloading。trytry里有一個里有一個returnreturn語句,那么緊跟在這個語句,那么緊跟在這個trytry后的后的finallyfinally里的里的codecode會不會被執(zhí)行,會不會被執(zhí)行,什么時候被執(zhí)行,在什么時候被執(zhí)行,在returnreturn前還是后:前還是后:會執(zhí)行,在return前執(zhí)行。兩個對象值相同兩個對象值相同(x.equals(y)(x.equals(y)====true)true),但卻可有不同
11、的,但卻可有不同的hashhashcodecode,這句話對不對:,這句話對不對:不對,有相同的hashcode。當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞:變化后的結果,那么這里到底是值傳遞還是引用傳遞:是值傳遞。Java編程語言只由值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中
12、時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。swtichswtich是否能作用在是否能作用在bytebyte上,是否能作用在上,是否能作用在longlong上,是否能作用在上,是否能作用在StringString上:上:switch(expr1)中,expr1是一個整數表達式。因此傳遞給switch和case語句的參數應該是int、sht、或者byte。longstring都不能作用
13、于swtich。編程題編程題:寫一個寫一個SingletonSingleton出來:出來:Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。一般Singleton模式通常有幾種種形式:第一種形式:定義一個類,它的構造函數為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用繼而調用其中的方法。publ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論