欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(47)

 更新時(shí)間:2021年08月25日 09:20:59   作者:牛哄哄的柯南  
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你

承蒙各位厚愛,我們一起每天進(jìn)步一點(diǎn)點(diǎn)?。ㄊ髽?biāo)選中空白處查看答案)

1、public interface IService {String NAME=“default”;}

默認(rèn)類型等價(jià)表示是哪一項(xiàng):

正確答案: C

public String NAME=“default”;

public static String NAME=“default”;

public static final String NAME=“default”;

private String NAME=“default”;

題解:
接口中的變量默認(rèn)是public static final 的,方法默認(rèn)是public abstract 的

2、關(guān)于以下程序代碼的說明正確的

class HasStatic{
    private static int x = 100;
    public static void main(String args[ ]){
        HasStatic hs1 = new HasStatic();
        hs1.x++;
        HasStatic hs2 = new HasStatic();
        hs2.x++;
        hs1=new HasStatic();
        hs1.x++;
        HasStatic.x--;
        System.out.println( "x=" +x);
    }
}

正確答案: D

5行不能通過編譯,因?yàn)橐昧怂接徐o態(tài)變量

10行不能通過編譯,因?yàn)閤是私有靜態(tài)變量

程序通過編譯,輸出結(jié)果為:x=103

程序通過編譯,輸出結(jié)果為:x=102

題解:
答案選D
因?yàn)閤的 修飾符為 static 所以x為類變量,即對(duì)于所有的實(shí)例來說,他們?cè)L問的x為同一個(gè)x,類變量存儲(chǔ)在方法區(qū),不屬于每個(gè)實(shí)例的私有,
剛開始x=100
調(diào)用hs1.x++ x為101;
調(diào)用hs2.x++ x為102;
調(diào)用hs1.x++ x為103 (此時(shí)hs1指向了一個(gè)新的HasStatic實(shí)例,但是依然訪問的是同一個(gè)X)
調(diào)用HasStatic.x-- x為102
所以結(jié)果為D

3、以下 _____ 不是 Object 類的方法

正確答案: D

clone()

finalize()

toString()

hasNext()

題解:
object類的方法:
1.clone方法
保護(hù)方法,實(shí)現(xiàn)對(duì)象的淺復(fù)制,只有實(shí)現(xiàn)了Cloneable接口才可以調(diào)用該方法,否則拋出CloneNotSupportedException異常。
2.getClass方法
final方法,獲得運(yùn)行時(shí)類型。
3.toString方法
該方法用得比較多,一般子類都有覆蓋。
4.finalize方法
該方法用于釋放資源。因?yàn)闊o法確定該方法什么時(shí)候被調(diào)用,很少使用。
5.equals方法
該方法是非常重要的一個(gè)方法。一般equals和==是不一樣的,但是在Object中兩者是一樣的。子類一般都要重寫這個(gè)方法。
6.hashCode方法方法用于哈希查找,重寫了equals方法一般都要重寫hashCode方法。這個(gè)方法在一些具有哈希功能的Collection中用到。
一般必須滿足obj1.equals(obj2)==true。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不一定就滿足equals。不過為了提高效率,應(yīng)該盡量使上面兩個(gè)條件接近等價(jià)。
7.wait方法
wait方法就是使當(dāng)前線程等待該對(duì)象的鎖,當(dāng)前線程必須是該對(duì)象的擁有者,也就是具有該對(duì)象的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(long timeout)設(shè)定一個(gè)超時(shí)間隔,如果在規(guī)定時(shí)間內(nèi)沒有獲得鎖就返回。
調(diào)用該方法后當(dāng)前線程進(jìn)入睡眠狀態(tài),直到以下事件發(fā)生。
(1)其他線程調(diào)用了該對(duì)象的notify方法。
(2)其他線程調(diào)用了該對(duì)象的notifyAll方法。
(3)其他線程調(diào)用了interrupt中斷該線程。
(4)時(shí)間間隔到了。
此時(shí)該線程就可以被調(diào)度了,如果是被中斷的話就拋出一個(gè)InterruptedException異常。
8.notify方法
該方法喚醒在該對(duì)象上等待的某個(gè)線程。
9.notifyAll方法
該方法喚醒在該對(duì)象上等待的所有線程。

4、try塊后必須有catch塊。()

正確答案: B

正確

錯(cuò)誤

題解:
try塊后面不一定需要跟著catch塊,可以只跟著finally塊
try 和 catch 不需要一定共存,try是嘗試對(duì)其中代碼捕獲異常,catch是捕獲異常并且可以處理異常。。你可以 try 來搜尋異常,不去捕獲。也就是不去catch 這是可以的。。至于提示加finally,finally的意思是,其中的代碼一定會(huì)執(zhí)行,也就是說,如果try 其中的代碼產(chǎn)生了異常,如果有catch 則會(huì)直接跳轉(zhuǎn)到catch部分,如果沒有catch 會(huì)跳轉(zhuǎn)到‘}'后面的代碼,這樣,以上方法就沒有一個(gè)確定的返回值,所以要加finally 作為方法出異常以后的返回的結(jié)果。

5、已知有下列Test類的說明,在該類的main方法內(nèi),則下列哪個(gè)語句是正確的?()

public class Test

{

private float f = 1.0f;

int m = 12;

static int n = 1;

public static void main (String args[])

{

Test t = new Test();

}
}

正確答案: A

t.f;

this.n;

Test.m

Test.f

**題解:
A.雖然變量修飾符為private,但main函數(shù)在此類中所以仍然可以直接用對(duì)象名來調(diào)用
B.static類變量,不能用對(duì)象名調(diào)用,只能用類名調(diào)用
C.非類變量不能用類名調(diào)用,只能先實(shí)例化再調(diào)用
D.同C **

6、String s = new String(“xyz”);創(chuàng)建了幾個(gè)StringObject?

正確答案: A

兩個(gè)或一個(gè)都有可能

兩個(gè)

一個(gè)

三個(gè)

題解:
這種題以前的日常練習(xí)題中出現(xiàn)過
如果常量池中存在“xyz”就只會(huì)創(chuàng)建一個(gè)對(duì)象,如果沒有就會(huì)創(chuàng)建兩個(gè)

7、下面有關(guān)JVM內(nèi)存,說法錯(cuò)誤的是?

正確答案: C

程序計(jì)數(shù)器是一個(gè)比較小的內(nèi)存區(qū)域,用于指示當(dāng)前線程所執(zhí)行的字節(jié)碼執(zhí)行到了第幾行,是線程隔離的

虛擬機(jī)棧描述的是Java方法執(zhí)行的內(nèi)存模型,用于存儲(chǔ)局部變量,操作數(shù)棧,動(dòng)態(tài)鏈接,方法出口等信息,是線程隔離的

方法區(qū)用于存儲(chǔ)JVM加載的類信息、常量、靜態(tài)變量、以及編譯器編譯后的代碼等數(shù)據(jù),是線程隔離的

原則上講,所有的對(duì)象都在堆區(qū)上分配內(nèi)存,是線程之間共享的

題解:
方法區(qū)在JVM中也是一個(gè)非常重要的區(qū)域,它與堆一樣,是被 線程共享 的區(qū)域。 在方法區(qū)中,存儲(chǔ)了每個(gè)類的信息(包括類的名稱、方法信息、字段信息)、靜態(tài)變量、常量以及編譯器編譯后的代碼等。

8、問這個(gè)程序的輸出結(jié)果。

package Wangyi;
class Base
{
    public void method()
    {
        System.out.println("Base");
    } 
}
class Son extends Base
{
    public void method()
    {
        System.out.println("Son");
    }
    
    public void methodB()
    {
        System.out.println("SonB");
    }
}
public class Test01
{
    public static void main(String[] args)
    {
        Base base = new Son();
        base.method();
        base.methodB();
    }
}

正確答案: D

Base SonB

Son SonB

Base Son SonB

編譯不通過

題解:
Base base=new Son(); 是多態(tài)的表示形式。父類對(duì)象調(diào)用了子類創(chuàng)建了Son對(duì)象。
base調(diào)用的method()方法就是調(diào)用了子類重寫的method()方法。
而此時(shí)base還是屬于Base對(duì)象,base調(diào)用methodB()時(shí)Base對(duì)象里沒有這個(gè)方法,所以編譯不通過。
要想調(diào)用的話需要先通過SON son=(SON)base;強(qiáng)制轉(zhuǎn)換,然后用son.methodB()調(diào)用就可以了。

9、java關(guān)于異常處理機(jī)制的敘述哪些正確

正確答案: B C

catch部分捕捉到異常情況時(shí),才會(huì)執(zhí)行finally部分

當(dāng)try區(qū)段的程序發(fā)生異常時(shí),才會(huì)執(zhí)行catch區(qū)段的程序

在try區(qū)段不論程序是否發(fā)生異常及捕獲到異常,都會(huì)執(zhí)行finally部分

以上都是

題解:
1.try和catch語句
●將要處理的代碼放入try塊中,然后創(chuàng)建相應(yīng)的catch塊的列表。如果生成都異常與catch中提到的相匹配,那么catch條件中的塊語句就被執(zhí)行。try塊后可能有許多catch塊,每個(gè)都處理不同的異常。每個(gè)catch中的參數(shù)都是Exception的子類。
2.finally語句
●finally語句定義一個(gè)總是執(zhí)行的代碼,而不考慮異常是否被捕獲。
3.throw引起一個(gè)異常
‍●‍‍調(diào)用申明拋出異常
●‍throw語句強(qiáng)制拋出異常

10、下面哪些賦值語句是正確的()

正確答案: A B D

long test=012

float f=-412
int other =(int)true

double d=0x12345678

byte b=128

題解:
選ABD
A和B中l(wèi)ong和float,正常定義需要加l和f,但是long和float屬于基本類型,會(huì)進(jìn)行轉(zhuǎn)化,所以不會(huì)報(bào)出異常。AB正確
boolean類型不能和任何類型進(jìn)行轉(zhuǎn)換,會(huì)報(bào)出類型異常錯(cuò)誤。所以C錯(cuò)。
D選項(xiàng)可以這樣定義,D正確。
E選項(xiàng)中,byte的取值范圍是-128—127。報(bào)出異常: cannot convert from int to byte.所以E選項(xiàng)錯(cuò)誤。

答案匯總:

1、正確答案: C

2、正確答案: D

3、正確答案: D

4、正確答案: B

5、正確答案: A

6、正確答案: A

7、正確答案: C

8、正確答案: D

9、正確答案: B C

10、正確答案: A B D

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Java的Lambda表達(dá)式和Stream流的作用以及示例

    Java的Lambda表達(dá)式和Stream流的作用以及示例

    這篇文章主要介紹了Java的Lambda表達(dá)式和Stream流簡單示例,Lambda允許把函數(shù)作為一個(gè)方法的參數(shù),使用Lambda表達(dá)式可以寫出更簡潔、更靈活的代碼,而其作為一種更緊湊的代碼風(fēng)格,使Java的語言表達(dá)能力得到了提升,需要的朋友可以參考下
    2023-05-05
  • JAVA的反射機(jī)制你了解多少

    JAVA的反射機(jī)制你了解多少

    這篇文章主要為大家詳細(xì)介紹了JAVA的反射機(jī)制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 圖解Spring框架的設(shè)計(jì)理念與設(shè)計(jì)模式

    圖解Spring框架的設(shè)計(jì)理念與設(shè)計(jì)模式

    這篇文章主要通過多圖詳細(xì)解釋Spring框架的設(shè)計(jì)理念與設(shè)計(jì)模式,需要的朋友可以參考下
    2015-08-08
  • Java使用TCP套接字實(shí)現(xiàn)多人聊天功能詳解

    Java使用TCP套接字實(shí)現(xiàn)多人聊天功能詳解

    這篇文章主要介紹了Java使用TCP套接字實(shí)現(xiàn)多人聊天功能,結(jié)合實(shí)例形式詳細(xì)分析了java使用socket通信實(shí)現(xiàn)tcp協(xié)議下的聊天功能客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-10-10
  • SpringBoot記錄Http請(qǐng)求日志的方法

    SpringBoot記錄Http請(qǐng)求日志的方法

    這篇文章主要介紹了SpringBoot記錄Http請(qǐng)求日志的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • SpringBoot利用redis集成消息隊(duì)列的方法

    SpringBoot利用redis集成消息隊(duì)列的方法

    這篇文章主要介紹了SpringBoot利用redis集成消息隊(duì)列的方法,需要的朋友可以參考下
    2017-08-08
  • 基于獲取JAVA路徑,包括CLASSPATH外的路徑的方法詳解

    基于獲取JAVA路徑,包括CLASSPATH外的路徑的方法詳解

    本篇文章是對(duì)獲取JAVA路徑,包括CLASSPATH外的路徑的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Spring Cloud 部署時(shí)使用 Kubernetes 作為注冊(cè)中心和配置中心的方法

    Spring Cloud 部署時(shí)使用 Kubernetes 作為注冊(cè)中心和配置中

    Spring Cloud Kubernetes提供了使用Kubernete本地服務(wù)的Spring Cloud通用接口實(shí)現(xiàn),這篇文章主要介紹了Spring Cloud 部署時(shí)如何使用 Kubernetes 作為注冊(cè)中心和配置中心,需要的朋友可以參考下
    2024-05-05
  • Java Property類使用詳解

    Java Property類使用詳解

    這篇文章主要介紹了Java Property類使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Springboot+MybatisPlus實(shí)現(xiàn)帶驗(yàn)證碼的登錄

    Springboot+MybatisPlus實(shí)現(xiàn)帶驗(yàn)證碼的登錄

    本文主要介紹了Springboot+MybatisPlus實(shí)現(xiàn)帶驗(yàn)證碼的登錄,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評(píng)論