Java常見面試題(1)

1.Error與Exception有什么區(qū)別?
Error表示系統(tǒng)級的錯誤和程序不必處理的異常, Exception表示需要捕捉或者需要程序進行處理的異常。

2.在java中一個類被聲明為final類型,表示了什么意思?
表示該類不能被繼承,是頂級類。heap和stack有什么區(qū)別。 棧是一種線形集合,其添加和刪除元素的操作應在同一段完成。棧按照后進先出的方式進行處理。 堆是棧的一個組成元素

3.String s = new String("xyz");創(chuàng)建了幾個String Object?
兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。

4.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; s1 += 1正確。

5.數(shù)組有沒有l(wèi)ength()這個方法? String有沒有l(wèi)ength()這個方法?   
數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength的屬性。   String有有l(wèi)ength()這個方法。

6.equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內(nèi)容和類型相配的話,返回真值。

7.構造器Constructor是否可被override?    
構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。 

8.是否可以繼承String類?    
String類是final類故不可以繼承。 

9.當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?    
不能,一個對象的一個synchronized方法只能由一個線程訪問。

10. try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后?    會執(zhí)行,在return前執(zhí)行。 

11.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?   
switch(expr1)中,expr1是一個整數(shù)表達式。因此傳遞給 switch 和 case 語句的參數(shù)應該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

北大青鳥網(wǎng)上報名
北大青鳥招生簡章