牛客 · 錯題集錦 (三)

寫在左上角的:十題一集合,溫故以知新

牛客 · 錯題集錦 (三) 

1、java中提供了哪兩種用於多態的機制?

A、通過子類對父類抽象方法的覆蓋實現多態。

B、利用重載來實現多態,即在同一類中定義多個同名的不同方法來實現多態。

C、利用覆蓋來實現多態,即在同一個類中定義多個同名的不同方法來實現多態。

D、通過子類對父類抽象方法的重載實現多態。

(解析一下:

        Java通過方法重寫和方法重載實現多態

        方法重寫是指子類重寫了父類的同名方法

        方法重載是指在同一類中,方法的名字相通,但是參數列表不同

2、Java類Demo中存在方法func0、func1、func2、func3和func4,請求該方法中,哪些是不合法的定義?

public class Demo{
	float func0(){
		byte i = 1;
		return i;
	}
	float func1(){
		int i = 1;
		return;
	}
	float func2(){
		short i = 2;
		return i;
	}
	float func3(){
		long i = 3;
		return i;
	}
	float func4(){
		double i = 4;
		return i;
	}
}

A、func1

B、func2

C、func3

D、func4

(解析一下:

        java自動類型轉換:byte,short,char -> int -> long -> float -> double

3、關於Java堆,下面說法錯誤的是()

A、所有類的實例和數組都是在堆上分配內存的

B、對象所佔的對內存是由自動內存管理系統回收

C、堆內存由存活和死亡的對象、空閒碎片區組成

D、數組是分配在棧中(解析一下:對象存儲在堆中,數組是一種對象

4、下面代碼運行結果是()

public class Test{
	public int add(int a, int b){
		try{
			return a+b;
		} catch(Exception e) {
			System.out.println("catch塊");
		} finally {
			System.out.prinln("finally塊");
		}
		return 0;
	}

	public static void main(String args[]){
		Test test = new Test();
		System.out.println("和是"+test.add(9,34));
	}
}

A、catch塊 和是43

B、編譯異常

C、finally塊 和是43

D、和是43 finally塊

(解析一下:

        1、finally{}代碼塊比return先執行

        2、多個retrun是按順序執行的,多個return執行了一個後,後面的return就不會執行了

        3、無論有無異常拋出,finally都會在return返回前執行

5、下面哪些情況下需要使用抽象類?

A、當一個類的一個或多個方法是抽象方法時

B、當類是一個抽象類的子類,並且不能爲任何抽象對象提供任何實現細節或方法體時

C、當 一個類實現多個接口時

D、當一個類實現一個接口,並且不能爲任何抽象方法提供實現細節或方法體時

6、java中關於繼承的描述正確的是()

A、一個子類只能繼承一個父類

B、子類可以繼承父類的構造方法(解析一下:方法沒有繼承一說,只有重載和重寫

C、繼承具有傳遞性

D、父類一般具有通用性,子類更具體

7、關於中間件特點的描述不正確的是()

A、中間件運行於客戶機/服務器的操作系統內核中,提高內核運行效率

B、中間件應支持標準的協議和接口

C、中間件可運行與多種硬件和操作系統平臺尚

D、跨越網絡、硬件、操作系統平臺的應用或服務可以通過中間件透明交互

        什麼是中間件?

        中間件是一種獨立的系統軟件或服務程序,分佈式應用軟件藉助這種軟件在不同的技術之間共享資源。中間件位於客戶機/服務器的操作系統之上,管理計算機資源和網絡通訊。是連接兩個獨立應用程序或獨立系統的軟件。相連接的系統,即使他們具有不同的接口,但通過中間件相互之間仍能交換信息。執行中間件的一個關鍵途徑是信息傳遞。通過中間件,應用程序可以工作於多平臺或OS環境。

8、檢查程序,是否存在問題,如果存在指出問題所在,如果不存在,說明輸出結果

public class Inc{
	public static void main(String[] args){
		Inc inc = new Inc();
		int i = 0;
		inc.fermin(i);
		i = i ++;
		System.out.println(i);
	}
	void fermin(int i){
		i ++;
	}
}

A、0

B、1

C、2

D、3

9、以下關於Java語言異常處理描述正確的有?

A、throw關鍵字可以在方法上聲明該方法要拋出的異常

B、throws用於拋出異常對象

C、try是用於檢測被包住的語句塊是否出現異常,如果有異常,則拋出異常,並執行catch語句

D、finally語句塊是不管有沒有出現異常都要執行的內容

E、在try塊中不可以拋出異常

10、有關線程的描述正確的是()

A、可以獲得對任何對象的互斥鎖定

B、通過繼承Thread類或實現Runnable接口,可以獲得對類中方法的互斥鎖定

C、線程通過調用對象的synchronized方法可獲得對象的互斥鎖定

D、線程調度算法是平臺獨立的(線程調度算法參考:牛客 · 錯題集錦 (一)第9題

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