牛客網專項練習(八)——選擇題(錯題&不懂的題)

AgonyQwf發表於2020-11-14

分析:這裡不是this呼叫語句,應該是this()。

1. 構造器中第一行預設是super(),如果直接父類中沒有無參構造方法,那麼必須顯式呼叫父類的某個有參構造方法。

2. 構造器中第一行的super()可以換成this(),但是this()和super()只能出現一個。

3. super,this關鍵字與super(),this()不是一個概念,前者表示當前呼叫者的父類與其本身,後者是為了構造器相互呼叫。

分析:這裡考的是值傳遞和引用傳遞。

值傳遞,只在該方法內有效,所以var2指向不發生改變,它的值還是1,var1和var2指向的還是堆當中Integer1。

分析:servlet處於伺服器程式中,它通過多執行緒方式執行其service()方法,一個例項可以服務於多個請求,並且其例項一般不會銷燬;

而CGI對每個請求都產生新的程式,服務完成之後就進行銷燬,故在效率上低於servlet。

CGI不可移植,為某一特定平臺編寫的CGI應用只能執行於這一環境中。每一個CGI應用存在於一個由客戶端請求啟用的程式中,並且在請求被服務後被解除安裝。

分析:額做完之後才發現被坑爹了,String裡面壓根沒有decode()和encode()這兩個方法。

其實就是先解碼再編碼。

new String(src,"GBK")解碼得到字串;

getBytes("UTF-8")得到UTF8編碼位元組陣列。

分析:Integer和Long型別之間不能進行比較。

包裝類都重寫了equals()方法,所以比較值,都是相等的。

分析:宣告異常用的是throws關鍵字;

丟擲異常用的是throw關鍵字,throw new Exception("自定義異常");

try是用於檢測被包住的語句塊是否出現異常,如果有異常,則進行丟擲,用的是throw關鍵字,並執行catch語句。

分析:在區域性內部類的方法中,要求方法的區域性變數必須宣告為final的。
jdk 7及之前版本:要求此區域性變數顯式的宣告為final的。
jdk 8及之後的版本:可以省略final的宣告。

內部類分為成員內部類和區域性內部類,成員內部類在外部類的內部,可以直接呼叫外部類的靜態方法和非靜態方法。

匿名內部類和和區域性內部類的用法不一樣,最顯著的區別就是匿名內部類只能使用一次。

D、靜態內部類不能直接訪問外部類的非靜態成員,但是可以通過new外部類().非靜態成員的方式訪問。

分析:C選項,兩個遍歷方式的內部實現有些不同。

Hashtable、HashMap都使用了 Iterator。但是Hashtable還使用了Enumeration的方式 。

分析:A和D肯定是對的

其次對於B選項,陣列命名時名稱與[ ]可以隨意排列。所以B也正確。

E選項,在宣告二維陣列時,第一個中括號中必須要有值,因為它代表的是在該二維陣列中有多少個一維陣列,而第二個中括號可以先不寫。

相關文章