1、是否可以繼承String類?
String類是final類故不可以繼承。
2、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一 個整數(shù)表達式。因此傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
3、try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后?
會執(zhí)行,在return前執(zhí)行。
4、編程題: 用率的方法算出2乘以8等於幾?
2 << 3
5、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
不對,有相同的hash code。
6、當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?
是值傳遞。Java 編程語言只有值傳遞參數(shù)。當(dāng)一個對象實例作為一個參數(shù)被傳遞到方法中時,參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中改變,但對象的引用 是永遠不會改變的。
7、當(dāng)一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?
不能,一個對象的一個synchronized方法只能由一個線程訪問。
8、編程題: 寫一個Singleton出來。
Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實 例存在。一般Singleton模式通常有幾種種形式:第一種形式: 定義一個類,它的構(gòu)造函數(shù)為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的 getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。public class Singleton {private Singleton(){} private static Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; } } 第二種形式: public class Singleton { private static Singleton instance = null; public static synchronized Singleton getInstance() { if (instance==null) instance=new Singleton();
return instance; } } 其他形式: 定義一個類,它的構(gòu)造函數(shù)為private的,所有方法為static的。一般認為第一種形式要更加安全些
9、Java的接口和C++的虛類的相同和不同處。
由于Java不支持多繼承,而有可能某個類或?qū)ο笠褂梅謩e在幾個類或?qū)ο罄锩娴姆椒?或?qū)傩?,現(xiàn)有的單繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性,因為接口中沒有任何實現(xiàn)代碼。當(dāng)一個類實現(xiàn)了接口以后,該類要實現(xiàn)接口里面所 有的方法和屬性,并且接口里面的屬性在默認狀態(tài)下面都是public static,所有方法默認情況下是public.一個類可以實現(xiàn)多個接口。
10、Java中的異常處理機制的簡單原理和應(yīng)用。
當(dāng)JAVA程序違反了JAVA的語義規(guī)則時,JAVA虛擬機就會將發(fā)生的錯誤表示為一個 異常。違反語義規(guī)則包括2種情況。一種是JAVA類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會引發(fā)IndexOutOfBoundsException;訪 問null的對象時會引發(fā)NullPointerException。另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創(chuàng)建自己的異常,并 自由選擇在何時用throw關(guān)鍵字引發(fā)異常。所有的異常都是java.lang.Thowable的子類。
String類是final類故不可以繼承。
2、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一 個整數(shù)表達式。因此傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
3、try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后?
會執(zhí)行,在return前執(zhí)行。
4、編程題: 用率的方法算出2乘以8等於幾?
2 << 3
5、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
不對,有相同的hash code。
6、當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?
是值傳遞。Java 編程語言只有值傳遞參數(shù)。當(dāng)一個對象實例作為一個參數(shù)被傳遞到方法中時,參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中改變,但對象的引用 是永遠不會改變的。
7、當(dāng)一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?
不能,一個對象的一個synchronized方法只能由一個線程訪問。
8、編程題: 寫一個Singleton出來。
Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實 例存在。一般Singleton模式通常有幾種種形式:第一種形式: 定義一個類,它的構(gòu)造函數(shù)為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的 getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。public class Singleton {private Singleton(){} private static Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; } } 第二種形式: public class Singleton { private static Singleton instance = null; public static synchronized Singleton getInstance() { if (instance==null) instance=new Singleton();
return instance; } } 其他形式: 定義一個類,它的構(gòu)造函數(shù)為private的,所有方法為static的。一般認為第一種形式要更加安全些
9、Java的接口和C++的虛類的相同和不同處。
由于Java不支持多繼承,而有可能某個類或?qū)ο笠褂梅謩e在幾個類或?qū)ο罄锩娴姆椒?或?qū)傩?,現(xiàn)有的單繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性,因為接口中沒有任何實現(xiàn)代碼。當(dāng)一個類實現(xiàn)了接口以后,該類要實現(xiàn)接口里面所 有的方法和屬性,并且接口里面的屬性在默認狀態(tài)下面都是public static,所有方法默認情況下是public.一個類可以實現(xiàn)多個接口。
10、Java中的異常處理機制的簡單原理和應(yīng)用。
當(dāng)JAVA程序違反了JAVA的語義規(guī)則時,JAVA虛擬機就會將發(fā)生的錯誤表示為一個 異常。違反語義規(guī)則包括2種情況。一種是JAVA類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會引發(fā)IndexOutOfBoundsException;訪 問null的對象時會引發(fā)NullPointerException。另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創(chuàng)建自己的異常,并 自由選擇在何時用throw關(guān)鍵字引發(fā)異常。所有的異常都是java.lang.Thowable的子類。

