java基礎知識總結(5)

 

41、是否可以繼承String?
42
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String?
43
try {}裏有一個return語句,那麼緊跟在這個try後的finally {}裏的code會不會被執行,什麼時候被執行,在return前還是後?
44
、編程題: 用最有效率的方法算出2乘以8等於幾?
45
、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
46
、當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏到底是值傳遞還是引用傳遞?
47
、當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
48
、編程題: 寫一個Singleton出來。
49
Java的接口和C++的虛類的相同和不同處。
50
Java中的異常處理機制的簡單原理和應用。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

41、是否可以繼承String?
String
類是final類故不可以繼承。


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


43
try {}裏有一個return語句,那麼緊跟在這個try後的finally {}裏的code會不會被執行,什麼時候被執行,在return前還是後?
會執行,在return前執行。


44
、編程題: 用最有效率的方法算出2乘以8等於幾?
2 << 3


45
、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
不對,有相同的hash code


46
、當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏到底是值傳遞還是引用傳遞?
是值傳遞。Java 編程語言只有值傳遞參數。當一個對象實例作爲一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。


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


48
、編程題: 寫一個Singleton出來。
Singleton
模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
一般Singleton模式通常有幾種種形式:
第一種形式: 定義一個類,它的構造函數爲private的,它有一個staticprivate的該類變量,在類初始化時實例話,通過一個publicgetInstance方法獲取對它的引用,繼而調用其中的方法。
public class Singleton {
private Singleton(){}
   file://在自己內部定義自己一個實例,是不是很奇怪?
   file://注意這是private 只供內部調用
   private static Singleton instance = new Singleton();
   file://這裏提供了一個供外部訪問本class的靜態方法,可以直接訪問  
   public static Singleton getInstance() {
     return instance;   
   }
}
第二種形式:
public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  file://這個方法比上面有所改進,不用每次都進行生成對象,只是第一次     
  file://使用時生成實例,提高了效率!
  if (instance==null)
    instancenew Singleton();
return instance;
  }
}
其他形式:
定義一個類,它的構造函數爲private的,所有方法爲static的。
一般認爲第一種形式要更加安全些


49
Java的接口和C++的虛類的相同和不同處。
由於Java不支持多繼承,而有可能某個類或對象要使用分別在幾個類或對象裏面的方法或屬性,現有的單繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性,因爲接口中沒有任何實現代碼。當一個類實現了接口以後,該類要實現接口裏面所有的方法和屬性,並且接口裏面的屬性在默認狀態下面都是public static,所有方法默認情況下是public.一個類可以實現多個接口。


50
Java中的異常處理機制的簡單原理和應用。
JAVA程序違反了JAVA的語義規則時,JAVA虛擬機就會將發生的錯誤表示爲一個異常。違反語義規則包括2種情況。一種是JAVA類庫內置的語義檢查。例如數組下標越界,會引發IndexOutOfBoundsException;訪問null的對象時會引發NullPointerException。另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創建自己的異常,並自由選擇在何時用throw關鍵字引發異常。所有的異常都是java.lang.Thowable的子類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章