寫在左上角的:十題一集合,溫故以知新
牛客 · 錯題集錦 (三)
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題)