JAVA面試題匯總 二

來源:互聯網
上載者:User
 

21 數組有沒有length()這個方法? String有沒有length()這個方法?

  數組沒有length()這個方法,有length的屬性。 
  String有有length()這個方法。

22 Overload和Override的區別。Overloaded的方法是否可以改變傳回值的類型?

  方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。 
Overloaded的方法是可以改變傳回值的類型。

23 Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢? 是用==還是equals()? 它們有何區別?

  Set裡的元素是不能重複的,那麼用iterator()方法來區分重複與否。equals()是判讀兩個Set是否相等。 equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。 

24最常見到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException,EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFORMatException, Secur 
ityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException 

25 error和exception有什麼區別?

  error 表示恢複不是不可能但很困難的情況下的一種嚴重問題。比如說記憶體溢出。不可能指望程式能處理這樣的情況。 
  exception 表示一種設計或實現問題。也就是說,它表示如果程式運行正常,從不會發生的情況。

26 List, Set, Map是否繼承自Collection介面?

     List,Set是 
     Map不是
    
27 abstract class和interface有什麼區別?

  聲明方法的存在而不去實現它的類被叫做抽象類別(abstract class),它用於要建立一個體現某些基本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能建立abstract 類的執行個體。然而可以建立一個變數,其類型是一個抽象類別,並讓它指向具體子類的一個執行個體。不能有抽象建構函式或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類別為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。 
  介面(interface)是抽象類別的變體。在介面中,所有方法都是抽象的。多繼承性可通過實現這樣的介面而獲得。介面中的所有方法都是抽象的,沒有一個有程式體。介面只可以定義static final成員變數。介面的實現與子類相似,除了該實作類別不能從介面定義中繼承行為。當類實現特殊介面時,它定義(即將程式體給予)所有這種介面的方法。然後,它可以在實現了該介面的類的任何對象上調用介面的方法。由於有抽象類別,它允許使用介面名作為引用變數的類型。通常的動態聯編將生效。引用可以轉換到介面類型或從介面類型轉換,instanceof 運算子可以用來決定某對象的類是否實現了介面。 

28 abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

  都不能

29 介面是否可繼承介面? 抽象類別是否可實現(implements)介面? 抽象類別是否可繼承實體類(concrete class)?

  介面可以繼承介面。抽象類別可以實現(implements)介面,抽象類別可繼承實體類,但前提是實體類必須有明確的建構函式。

30 啟動一個線程是用run()還是start()?

  啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀態,這意味著它可以由JVM調度並執行。這並不意味著線程就會立即運行。run()方法可以產生必須退出的標誌來停止一個線程。

 

31 構造器Constructor是否可被override?

  構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

32 是否可以繼承String類?

  String類是final類故不可以繼承。

33 當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?

  不能,一個對象的一個synchronized方法只能由一個線程訪問。

33  try {}裡有一個return語句,那麼緊跟在這個try後的finally {}裡的code會不

會被執行,什麼時候被執行,在return前還是後? 
  會執行,在return前執行。

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

  2 << 3 

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

  不對,有相同的hash code。

36  當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是引用傳遞?

  是值傳遞。Java程式設計語言只由值傳遞參數。當一個對象執行個體作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。

37  swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

  switch(expr1)中,expr1是一個整數運算式。因此傳遞給 switch 和 case 語句的參數應該是 int、 short、 char 或者 byte。long,string 都不能作用於swtich。 
38 Hashtable和HashMap

  Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現 
  HashMap允許將null作為一個entry的key或者value,而Hashtable不允許
還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。
  最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在
多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap就必須為之提供外同步。 
Hashtable和HashMap採用的hash/rehash演算法都大概一樣,所以效能不會有很大的差異。

    JAVA面試題匯總:    一 二 三 四

 
 
  • 標籤:java 面試題 
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.