Java日常練習(xí)題,每天進步一點點(48)
承蒙各位厚愛,我們一起每天進步一點點!(鼠標選中空白處查看答案)
1、下列類在多重catch中同時出現(xiàn)時,哪一個異常類應(yīng)最后一個列出()
正確答案: C
ArithmeticException
NumberFormatException
Exception
ArrayIndexOutOfBoundException
題解:
ArithmeticException 是算數(shù)異常
NumberFormatException 是數(shù)據(jù)格式異常
Exception 異常
ArrayIndexOutOfBoundException 數(shù)組索引超過界限異常
先處理具體的異常,如果沒有則放到一個大的范圍之中Exception
2、若在某一個類定義中定義有如下的方法: abstract void performDial( ); 該方法屬于()
正確答案: D
本地方法
最終方法
解態(tài)方法
抽象方法
題解:
含有abstract關(guān)鍵字的方法是抽象方法,抽象方法沒有方法體以分號結(jié)束,抽象類可不包含抽象方法但聲明了抽象方法的類必須定義為抽象類,并且抽象類、接口都不可以實例化。子類可繼承抽象父類或?qū)崿F(xiàn)抽象父類當(dāng)中的所有抽象方法(兩種方法皆可)
3、給定以下方法聲明,調(diào)用執(zhí)行mystery(1234)的輸出結(jié)果?
//precondition: x >=0
public void mystery (int x)
{
System.out.print(x % 10);
if ((x / 10) != 0)
{
mystery(x / 10);
}
System.out.print(x % 10);
}
正確答案: B
1441
43211234
3443
12344321
題解:
優(yōu)先會輸出1234%10=4,選B。后面不用看了
4、java語言中的數(shù)組元素下標總是從0開始,下標可以是整數(shù)或整型表達式。()
正確答案: A
正確
錯誤
題解:
例如平時有這樣的用法
for(int i=0;i<10;i++){
a[i+1]=a[i]
}
這個i+1就是整數(shù)型表達式 或者a[5+3]就是a[8]
5、以下敘述正確的是
正確答案: D
實例方法可直接調(diào)用超類的實例方法
實例方法可直接調(diào)用超類的類方法、
實例方法可直接調(diào)用子類的實例方法
實例方法可直接調(diào)用本類的實例方法
題解:
A錯誤,類的實例方法是與該類的實例對象相關(guān)聯(lián)的,不能直接調(diào)用,只能通過創(chuàng)建超類的一個實例對象,再進行調(diào)用
B錯誤,當(dāng)父類的類方法定義為private時,對子類是不可見的,所以子類無法調(diào)用
C錯誤,子類具體的實例方法對父類是不可見的,所以無法直接調(diào)用, 只能通過創(chuàng)建子類的一個實例對象,再進行調(diào)用
D正確,實例方法可以調(diào)用自己類中的實例方法
6、下面有關(guān)java object默認的基本方法,說法錯誤的是?
正確答案: B
equals(Object obj) 指示某個其他對象是否與此對象“相等”
copy() 創(chuàng)建并返回此對象的一個副本
wait() 導(dǎo)致當(dāng)前的線程等待,直到其他線程調(diào)用此對象的 notify() 方法或 notifyAll() 方法
toString() 返回該對象的字符串表示
題解:
Object中沒有copy方法
7、如下代碼,執(zhí)行test()函數(shù)后,屏幕打印結(jié)果為()
public class Test2
{
public void add(Byte b)
{
b = b++;
}
public void test()
{
Byte a = 127;
Byte b = 127;
add(++a);
System.out.print(a + " ");
add(b);
System.out.print(b + “”);
}
}
正確答案: D
127 127
128 127
129 128
以上都不對
題解:
add()方法里面的修改值并不會起作用,而add(++a)會使a數(shù)值越界成-128,所以輸出為-128 127
8、下面程序的輸出結(jié)果為( )
public class Demo {
public static String sRet = “”;
public static void func(int i)
{
try
{
if (i%2==0)
{
throw new Exception();
}
}
catch (Exception e)
{
sRet += “0”;
return;
}
finally
{
sRet += “1”;
}
sRet += “2”;
}
public static void main(String[] args)
{
func(1);
func(2);
System.out.println(sRet);
}
}
正確答案: B
120
1201
12012
101
題解:
①調(diào)用func(1),if不符合,直接進入finally,sRet=“1"
②finally語句中沒有返回值,故繼續(xù)向下執(zhí)行,sRet=“12”
③調(diào)用func(2),if符合,sRet=“120”,此時有返回值!!!
④調(diào)用finally語句,sRet=“1201”
⑤因為已經(jīng)有返回值了,finally之后的語句也不再執(zhí)行,sRet=“1201”。
9、ServletConfig接口默認是哪里實現(xiàn)的?
正確答案: B
Servlet
GenericServlet
HttpServlet
用戶自定義servlet
題解:
GenericServlet類的實現(xiàn)接口中包括了ServletConfig接口,但是它自身的init(ServletConfig config)方法又需要外界給它傳遞一個實現(xiàn)ServletConfig的對象,就是說GenericServlet和ServletConfig的依賴關(guān)系既是繼承關(guān)系,也是一種關(guān)聯(lián)關(guān)系。
10、以下哪幾種方式可用來實現(xiàn)線程間通知和喚醒:( )
正確答案: A C
Object.wait/notify/notifyAll
ReentrantLock.wait/notify/notifyAll
Condition.await/signal/signalAll
Thread.wait/notify/notifyAll
題解:
Condition是在java 1.5中才出現(xiàn)的,它用來替代傳統(tǒng)的Object的wait()、notify()實現(xiàn)線程間的協(xié)作,相比使用Object的wait()、 notify(),使用Condition1的await()、signal()這種方式實現(xiàn)線程間協(xié)作更加安全和高效。
答案匯總:
1、正確答案: C
2、正確答案: D
3、正確答案: B
4、正確答案: A
5、正確答案: D
6、正確答案: B
7、正確答案: D
8、正確答案: B
9、正確答案: B
10、正確答案: A C
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
擴展Hibernate使用自定義數(shù)據(jù)庫連接池的方法
這篇文章主要介紹了擴展Hibernate使用自定義數(shù)據(jù)庫連接池的方法,涉及Hibernate數(shù)據(jù)庫操作擴展的相關(guān)技巧,需要的朋友可以參考下2016-03-03springboot實戰(zhàn)權(quán)限管理功能圖文步驟附含源碼
這篇文章主要為大家介紹了springboot實戰(zhàn)權(quán)限管理功能圖文步驟及示例源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06詳解Spring Boot Mysql 版本驅(qū)動連接池方案選擇
這篇文章主要介紹了詳解Spring Boot Mysql 版本驅(qū)動連接池方案選擇,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08SpringBoot實現(xiàn)監(jiān)控Actuator,關(guān)閉redis監(jiān)測
這篇文章主要介紹了SpringBoot實現(xiàn)監(jiān)控Actuator,關(guān)閉redis監(jiān)測,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11