Java日常練習題,每天進步一點點(56)
承蒙各位厚愛,我們一起每天進步一點點?。ㄊ髽诉x中空白處查看答案)
1、下面所示的java代碼,運行時,會產(chǎn)生()類型的異常
int Arry_a[] = new int[10];
System.out.println(Arry_a[10]);
正確答案: D
ArithmeticException
NullPointException
IOException
ArrayIndexOutOfBoundsException
題解:
定義的數(shù)組長度為10,角標即為0-9 訪問數(shù)組角標10會出現(xiàn)數(shù)組角標越界異常 ArithmeticException 算術(shù)異常 NullPointException 空指針異常 IOException IO異常 ArrayIndexOutOfBoundsException 數(shù)組下標越界異常
2、關(guān)于依賴注入,下列選項中說法錯誤的是()
正確答案: B
依賴注入能夠獨立開發(fā)各組件,然后根據(jù)組件間關(guān)系進行組裝
依賴注入使組件之間相互依賴,相互制約
依賴注入提供使用接口編程
依賴注入指對象在使用時動態(tài)注入
題解:
依賴注入的動機就是減少組件之間的耦合度,使開發(fā)更為簡潔
3、子類A繼承父類B, A a = new A(); 則父類B構(gòu)造函數(shù)、父類B靜態(tài)代碼塊、父類B非靜態(tài)代碼塊、子類A構(gòu)造函數(shù)、子類A靜態(tài)代碼塊、子類A非靜態(tài)代碼塊 執(zhí)行的先后順序是?
正確答案: C
父類B靜態(tài)代碼塊->父類B構(gòu)造函數(shù)->子類A靜態(tài)代碼塊->父類B非靜態(tài)代碼塊->子類A構(gòu)造函數(shù)->子類A非靜態(tài)代碼塊
父類B靜態(tài)代碼塊->父類B構(gòu)造函數(shù)->父類B非靜態(tài)代碼塊->子類A靜態(tài)代碼塊->子類A構(gòu)造函數(shù)->子類A非靜態(tài)代碼塊
父類B靜態(tài)代碼塊->子類A靜態(tài)代碼塊->父類B非靜態(tài)代碼塊->父類B構(gòu)造函數(shù)->子類A非靜態(tài)代碼塊->子類A構(gòu)造函數(shù)
父類B構(gòu)造函數(shù)->父類B靜態(tài)代碼塊->父類B非靜態(tài)代碼塊->子類A靜態(tài)代碼塊->子類A構(gòu)造函數(shù)->子類A非靜態(tài)代碼塊
題解:
會先執(zhí)行靜態(tài)代碼塊,因為靜態(tài)代碼塊是類級別的,是在創(chuàng)建對象之前就執(zhí)行的。因為子類繼承了父類,所以父類的靜態(tài)代碼塊會先執(zhí)行,接著執(zhí)行子類的靜態(tài)代碼塊。
因為構(gòu)造函數(shù)可能要給動態(tài)代碼塊的一些成員變量賦值,所以必須在這之前先執(zhí)行動態(tài)代碼塊,要不然構(gòu)造函數(shù)會出現(xiàn)相關(guān)的成員屬性無定義。所以會先執(zhí)行動態(tài)代碼塊,在執(zhí)行構(gòu)造函數(shù)。一般先按父類的執(zhí)行,再按子類的執(zhí)行。
4、以下代碼在編譯和運行過程中會出現(xiàn)什么情況
public class TestDemo{ private int count; public static void main(String[] args) { TestDemo test=new TestDemo(88); System.out.println(test.count); } TestDemo(int a) { count=a; } }
正確答案: A
編譯運行通過,輸出結(jié)果是88
編譯時錯誤,count變量定義的是私有變量
編譯時錯誤,System.out.println方法被調(diào)用時test沒有被初始化
編譯和執(zhí)行時沒有輸出結(jié)果
題解:
private是私有變量,只能用于當前類中,題目中的main方法也位于當前類,所以可以正確輸出
5、Web程序中,當前用戶上下文信息應該保存在下面哪個對象中()
正確答案: C
page
request
session
Application
題解:
當前用戶上下文信息:session
appication:當前應用
pageContext:當前頁面
request:當前請求
6、下面哪個不屬于HttpServletResponse接口完成的功能?
正確答案: C
設置HTTP頭標
設置cookie
讀取路徑信息
輸出返回數(shù)據(jù)
題解:
request讀取路徑信息
7、以下說法錯誤的是()
正確答案: D
虛擬機中沒有泛型,只有普通類和普通方法
所有泛型類的類型參數(shù)在編譯時都會被擦除
創(chuàng)建泛型對象時請指明類型,讓編譯器盡早的做參數(shù)檢查
泛型的類型擦除機制意味著不能在運行時動態(tài)獲取List中T的實際類型
題解:
1、創(chuàng)建泛型對象的時候,一定要指出類型變量T的具體類型。爭取讓編譯器檢查出錯誤,而不是留給JVM運行的時候拋出類不匹配的異常。 2、JVM如何理解泛型概念 —— 類型擦除。事實上,JVM并不知道泛型,所有的泛型在編譯階段就已經(jīng)被處理成了普通類和方法。 處理方法很簡單,我們叫做類型變量T的擦除(erased) 。 總結(jié):泛型代碼與JVM ① 虛擬機中沒有泛型,只有普通類和方法。 ② 在編譯階段,所有泛型類的類型參數(shù)都會被Object或者它們的限定邊界來替換。(類型擦除) ③ 在繼承泛型類型的時候,橋方法的合成是為了避免類型變量擦除所帶來的多態(tài)災難。 無論我們?nèi)绾味x一個泛型類型,相應的都會有一個原始類型被自動提供。原始類型的名字就是擦除類型參數(shù)的泛型類型的名字。
8、類B從類A派生,則類B可以訪問類A中的( )成員?
正確答案: A C
public成員
private成員
protected成員
所有數(shù)據(jù)成員
所有函數(shù)成員
題解:
private成員只能在當前類中訪問,派生類可以訪問父類的public和protected屬性成員
9、下列關(guān)于系列化和反序列化描述正確的是:
正確答案: A B
序列化是將數(shù)據(jù)轉(zhuǎn)為n個 byte序列的過程
反序列化是將n個 byte轉(zhuǎn)換為數(shù)據(jù)的過程
將類型int轉(zhuǎn)換為4 byte是反序列化過程
將8個字節(jié)轉(zhuǎn)換為long類型的數(shù)據(jù)為序列化過程
題解:
序列化:將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換稱為二進制數(shù)據(jù)流或者文本流的過程。序列化后的數(shù)據(jù)方便在網(wǎng)絡上傳輸和在硬盤上存儲。
反序列化:與序列化相反,是將二進制數(shù)據(jù)流或者文本流轉(zhuǎn)換稱為易于處理和閱讀的數(shù)據(jù)結(jié)構(gòu)的過程。
本質(zhì)其實還是一種協(xié)議,一種數(shù)據(jù)格式,方便數(shù)據(jù)的存儲和傳輸。
10、對 Map 的用法,正確的有:
正確答案: C D
new java.util.Map().put(“key” , “value”) ;
new java.util.SortedMap().put(“key” , “value”) ;
new java.util.HashMap().put( null , null ) ;
new java.util.TreeMap().put( 0 , null ) ;
題解:
考察的是Map接口實現(xiàn)類的創(chuàng)建對象以及對象類型包含的方法。
A選項Map屬于接口類型,不可以new的方式創(chuàng)建對象。所以A錯誤。
B選項SortedMap屬于接口類型,不可以new的方式創(chuàng)建對象。所以B錯誤。
C選項HashMap基于哈希表實現(xiàn)Map接口的類,并允許null的值和null鍵。
D選項TreeMap通過紅黑樹實現(xiàn)Map接口的類,key不可以為null,會報NullPointerException異常,value可以為null。
答案匯總:
1、正確答案: D
2、正確答案: B
3、正確答案: C
4、正確答案: A
5、正確答案: C
6、正確答案: C
7、正確答案: D
8、正確答案: A C
9、正確答案: A B
10、正確答案: C D
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
mybatis-generator-gui根據(jù)需求改動示例
這篇文章主要為大家介紹了mybatis-generator-gui根據(jù)需求改動示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09Spring Boot中使用 Spring Security 構(gòu)建權(quán)限系統(tǒng)的示例代碼
本篇文章主要介紹了Spring Boot中使用 Spring Security 構(gòu)建權(quán)限系統(tǒng)的示例代碼,具有一定的參考價值,有興趣的可以了解一下2017-08-08spring中@RestController和@Controller的區(qū)別小結(jié)
@RestController和@Controller這兩個注解用于創(chuàng)建Web應用程序的控制器類,那么這兩個注解有哪些區(qū)別,本文就來介紹一下,并用示例代碼說明,感興趣的可以了解一下2023-09-09Spring Boot2發(fā)布調(diào)用REST服務實現(xiàn)方法
這篇文章主要介紹了Spring Boot2發(fā)布調(diào)用REST服務實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04