當前位置:學問君>學習教育>考研>

JAVA初級題

學問君 人氣:1.3W

        1. float型float f=3.4是否正確?
  答:不正確,應爲float f=3.4f
  2. 當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏到底是值傳遞還是引用傳遞?
  答:是引用傳遞。

JAVA初級題

3. 在java中一個類被聲明爲final類型,表示了什麼意思?
  答:表示該類不能被繼承,意味着它不能再派生出新的子類,不能作爲父類被繼承,是頂級類。

4. Error與Exception有什麼區別?
  答:Error(錯誤)表示系統級的錯誤和程序不必處理的異常,是java執行環境中的內部錯誤或者硬件問題,比如,內存資源不足等,對於這種錯誤,程序基本無能爲力,除了退出執行外別無選擇。
  Exception(違例)表示需要捕捉或者需要程序進行處理的異常,它處理的是因爲程序設計的瑕疵而引起的問題或者在外的輸入等引起的一般性問題,是程序必須處理的`。

5. 談談final, finally的區別。
  答:final是修飾符(關鍵字)如果一個類被聲明爲final,意味着它不能再派生出新的子類,不能作爲父類被繼承。因此一個類不能既被聲明爲 abstract,又被聲明爲final。將變量或方法聲明爲final,可以保證它們在使用中不被改變。被聲明爲final的變量必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明爲final的方法也同樣只能使用,不能重載。
  Finally是在異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的 catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話),只要有finally語句塊,無論程序如何執行,它都必然被執行到。

6. String s = new String("xyz");創建了幾個String Object?
  答:創建了兩個,一個字元對象,一個引用對象

7. short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
  答:兩個錯誤都是一樣的,後者只是加法的寫法不一樣,兩個錯誤都是因爲s1是short型而1是整型相加後數據類型就變爲整型了,與s1定義爲short型有矛盾,必須進行強制類型轉換才正確。

8. 數組有沒有length()這個方法? String有沒有length()這個方法?
  答:數組沒有,String有。

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

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

 

TAGS:Java 初級