Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(11)
承蒙各位厚愛(ài),我們一起每天進(jìn)步一點(diǎn)點(diǎn)!(鼠標(biāo)選中空白處查看答案)
1、對(duì)接口的描述正確的是()
正確答案: A
一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口
接口可以有非靜態(tài)的成員變量
在jdk8之前,接口可以實(shí)現(xiàn)方法
實(shí)現(xiàn)接口的任何類(lèi),都需要實(shí)現(xiàn)接口的方法
題解:
A,一個(gè)類(lèi)只能有一個(gè)直接父類(lèi),但是繼承是有傳遞性的。一個(gè)類(lèi)可以實(shí)現(xiàn)多的接口。一個(gè)接口可以繼承多個(gè)類(lèi)。
B,接口中沒(méi)有普通變量(普通成員變量),接口中都是常量,默認(rèn)修飾符:public static final
C,JDK8之前,接口中的方法都是默認(rèn)public abstract的,JDK8之后,接口中可以有static、default的修飾的方法,一旦被修飾,方法必須有方法體(抽象方法可是沒(méi)有方法體的),接口中的方法都不能被private和protected修飾,同時(shí)外部接口、類(lèi)只能被public修飾或者不寫(xiě),但是內(nèi)部接口、類(lèi)可以被四個(gè)訪問(wèn)修飾符修飾。
D, 實(shí)現(xiàn)接口,其實(shí)就是需要重寫(xiě)接口中的abstract方法,一旦實(shí)現(xiàn)的類(lèi)沒(méi)有重寫(xiě)完,那么這個(gè)類(lèi)必須是個(gè)抽象類(lèi)(抽象類(lèi)中可以沒(méi)有抽象方法,但是有抽象方法的類(lèi)必須是抽象類(lèi))。
2、類(lèi)中的數(shù)據(jù)域使用private修飾為私有變量,所以任何方法均不能訪問(wèn)它。
正確答案: B
正確
錯(cuò)誤
題解:
private修飾的東西,只是不能在別的類(lèi)中訪問(wèn),但是本類(lèi)中還是可以的。同時(shí)利用反射也可以做到。
3、已知如下類(lèi)定義:
class Base { public Base (){ //... } public Base ( int m ){ //... } public void fun( int n ){ //... } } public class Child extends Base{ // member methods }
正確答案: D
private void fun( int n ){ //…}
void fun ( int n ){ //… }
protected void fun ( int n ) { //… }
public void fun ( int n ) { //… }
題解:
方法的重寫(xiě)(override)兩同兩小一大原則:
方法名相同,參數(shù)類(lèi)型相同
子類(lèi)返回類(lèi)型小于等于父類(lèi)方法返回類(lèi)型,
子類(lèi)拋出異常小于等于父類(lèi)方法拋出異常,
子類(lèi)訪問(wèn)權(quán)限大于等于父類(lèi)方法訪問(wèn)權(quán)限。
子類(lèi)方法的權(quán)限至少要大于父類(lèi)方法的權(quán)限,只能選D
4、在java的一個(gè)異常處理中,可以包含多個(gè)的語(yǔ)句塊是 ( )。
正確答案: D
try
finally
throws
catch
題解:
異常處理一般格式:
捕獲異常:
try{
//代碼塊
}catch(異常類(lèi)型,例如:Exception e){
//需要拋出的異常,例如:e.printStackTrace();
}catch(異常類(lèi)型){
//需要拋出的異常
}finally{
//必定執(zhí)行的代碼塊
}
所以說(shuō)在一個(gè)異常處理中catch語(yǔ)句塊是可以多個(gè)的,也就是可以?huà)伋龆鄠€(gè)異常!
5、關(guān)于Java語(yǔ)言中的final關(guān)鍵字的使用,下列說(shuō)法正確的是()
正確答案: C
在使用final關(guān)鍵字定義的方法里面使用final關(guān)鍵字定義變量。
使用final關(guān)鍵字定義變量,必須在變量定義的同時(shí)給定變量的具體數(shù)值,完成變量初始化。
final關(guān)鍵字可以用來(lái)修飾方法,表明此方法不可以被子類(lèi)重寫(xiě)。
使用final關(guān)鍵字定義變量,必須同時(shí)使用static關(guān)鍵字。
題解:
A 選項(xiàng)在 final 定義的方法里,不是必須要用 final 定義變量。
B final 定義的變量,可以在不是必須要在定義的同時(shí)完成初始化,也可以在構(gòu)造方法中完成初始化。
C 正確,final修飾方法,不能被子類(lèi)重寫(xiě),但是可以被重載。
D final 定義變量,可以用 static 也可以不用。
6、在 main() 方法中給出的整型數(shù)組,如果將其寫(xiě)到一個(gè)文件中,需要( )。
正確答案: B
System.out.print (buffer[i]);
DataOutputStream dout = new DataOutputStream(new FileOutputStream(this.filename));
DataInputStream din = new DataInputStream(new FileInputStream(this.filename));。
System.in.read(buffer)。
題解:
input和output指的是對(duì)于程序而言。input是從文件讀取進(jìn)來(lái),output是輸出到文件。
數(shù)據(jù)寫(xiě)入文件即out ,把數(shù)據(jù)寫(xiě)入輸出流 DataOutputStream 輸入輸出流都是對(duì)于程序來(lái)講的
7、下列有關(guān)Servlet的生命周期,說(shuō)法不正確的是?
正確答案: A
在創(chuàng)建自己的Servlet時(shí)候,應(yīng)該在初始化方法init()方法中創(chuàng)建Servlet實(shí)例
在Servlet生命周期的服務(wù)階段,執(zhí)行service()方法,根據(jù)用戶(hù)請(qǐng)求的方法,執(zhí)行相應(yīng)的doGet()或是doPost()方法
在銷(xiāo)毀階段,執(zhí)行destroy()方法后會(huì)釋放Servlet 占用的資源
destroy()方法僅執(zhí)行一次,即在服務(wù)器停止且卸載Servlet時(shí)執(zhí)行該方法
題解:
創(chuàng)建Servlet的實(shí)例是由Servlet容器來(lái)完成的,且創(chuàng)建Servlet實(shí)例是在初始化方法init()之前
Servlet的生命周期分為5個(gè)階段:加載、創(chuàng)建、初始化、處理客戶(hù)請(qǐng)求、卸載。
(1)加載:容器通過(guò)類(lèi)加載器使用servlet類(lèi)對(duì)應(yīng)的文件加載servlet
(2)創(chuàng)建:通過(guò)調(diào)用servlet構(gòu)造函數(shù)創(chuàng)建一個(gè)servlet對(duì)象
(3)初始化:調(diào)用init方法初始化
(4)處理客戶(hù)請(qǐng)求:每當(dāng)有一個(gè)客戶(hù)請(qǐng)求,容器會(huì)創(chuàng)建一個(gè)線(xiàn)程來(lái)處理客戶(hù)請(qǐng)求
(5)卸載:調(diào)用destroy方法讓servlet自己釋放其占用的資源
Servlet的運(yùn)行過(guò)程:
Servlet程序是由WEB服務(wù)器調(diào)用,web服務(wù)器收到客戶(hù)端的Servlet訪問(wèn)請(qǐng)求后:
?、賅eb服務(wù)器首先檢查是否已經(jīng)裝載并創(chuàng)建了該Servlet的實(shí)例對(duì)象。如果是,則直接執(zhí)行第④步,否則,執(zhí)行第②步。
?、谘b載并創(chuàng)建該Servlet的一個(gè)實(shí)例對(duì)象。
?、壅{(diào)用Servlet實(shí)例對(duì)象的init()方法。
?、軇?chuàng)建一個(gè)用于封裝HTTP請(qǐng)求消息的HttpServletRequest對(duì)象和一個(gè)代表HTTP響應(yīng)消息的HttpServletResponse對(duì)象,然后調(diào)用Servlet的service()方法并將請(qǐng)求和響應(yīng)對(duì)象作為參數(shù)傳遞進(jìn)去。
⑤WEB應(yīng)用程序被停止或重新啟動(dòng)之前,Servlet引擎將卸載Servlet,并在卸載之前調(diào)用Servlet的destroy()方法。
8、What is displayed when the following is executed?
double d1=-0.5;
System.out.println(“Ceil d1=”+Math.ceil(d1));
System.out.println(“floor d1=”+Math.floor(d1));
正確答案: A
A:Ceil d1=-0.0
floor d1=-1.0
B:Ceil d1=0.0
floor d1=-1.0
C:Ceil d1=-0.0
floor d1=-0.0
D:Ceil d1=0.0
floor d1=0.0
E:Ceil d1=0
floor d1=-1
題解:
執(zhí)行以下命令顯示什么?
ceil:大于等于 x,并且與它最接近的整數(shù)。
floor:小于等于 x,且與 x 最接近的整數(shù)。
9、假定Base b = new Derived(); 調(diào)用執(zhí)行b.methodOne()后,輸出結(jié)果是什么?
public class Base { public void methodOne() { System.out.print("A"); methodTwo(); } public void methodTwo() { System.out.print("B"); } } public class Derived extends Base { public void methodOne() { super.methodOne(); System.out.print("C"); } public void methodTwo() { super.methodTwo(); System.out.print("D"); } }
正確答案: A
ABDC
AB
ABCD
ABC
題解:
這是一道類(lèi)多態(tài)的向上轉(zhuǎn)型題。
Base b = new Derived();
向上轉(zhuǎn)型:父類(lèi)只能調(diào)用父類(lèi)方法或者子類(lèi)覆寫(xiě)后的方法,而子類(lèi)中的單獨(dú)方法則是無(wú)法調(diào)用的。
10、下面關(guān)于變量及其范圍的陳述哪些是不正確的()
正確答案: B C
實(shí)例變量是類(lèi)的成員變量
實(shí)例變量用關(guān)鍵字static聲明
在方法中定義的局部變量在該方法被執(zhí)行時(shí)創(chuàng)建
局部變量在使用前必須被初始化
題解:
A.類(lèi)的成員變量包括實(shí)例變量和類(lèi)變量(靜態(tài)變量),成員方法包括實(shí)例方法和類(lèi)方法(靜態(tài)方法)。 A正確
B.類(lèi)變量(靜態(tài)變量)用關(guān)鍵字static聲明,B錯(cuò)誤
C.方法中的局部變量在方法被調(diào)用加載時(shí)開(kāi)始入棧時(shí)創(chuàng)建,方法入棧創(chuàng)建棧幀包括局部變量表操作數(shù)棧,局部變量表存放局部變量,并非在執(zhí)行該方法時(shí)被創(chuàng)建,C錯(cuò)誤
D.局部變量被使用前必須初始化,否則程序報(bào)錯(cuò)。D正確
答案匯總:
1、正確答案: A
2、正確答案: B
3、正確答案: D
4、正確答案: D
5、正確答案: C
6、正確答案: B
7、正確答案: A
8、正確答案: A
9、正確答案: A
10、正確答案: B C
總結(jié)
本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java漢字轉(zhuǎn)拼音類(lèi)庫(kù)Pinyin4j詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了Java漢字轉(zhuǎn)拼音類(lèi)庫(kù)Pinyin4j詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02SpringBoot在IDEA中實(shí)現(xiàn)熱部署的步驟
這篇文章主要介紹了SpringBoot在IDEA中實(shí)現(xiàn)熱部署的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2020-11-11springboot 無(wú)法掃描到父類(lèi)模塊中Bean的原因及解決
這篇文章主要介紹了springboot 無(wú)法掃描到父類(lèi)模塊中Bean的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08Mac配置 maven以及環(huán)境變量設(shè)置方式
這篇文章主要介紹了Mac配置 maven以及環(huán)境變量設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08IDEA 單元測(cè)試報(bào)錯(cuò):Class not found:xxxx springb
這篇文章主要介紹了IDEA 單元測(cè)試報(bào)錯(cuò):Class not found:xxxx springboot的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java實(shí)現(xiàn)快速排序和堆排序的示例代碼
這篇文章主要為大家詳細(xì)介紹了快速排序和堆排序的多種語(yǔ)言的實(shí)現(xiàn)(JavaScript、Python、Go語(yǔ)言、Java、C++),感興趣的小伙伴可以了解一下2022-12-12