Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(57)
承蒙各位厚愛,我們一起每天進(jìn)步一點(diǎn)點(diǎn)?。ㄊ髽?biāo)選中空白處查看答案)
1、在 JAVA 編程中, Java 編譯器會將 Java 程序轉(zhuǎn)換為( )
正確答案: A
字節(jié)碼
可執(zhí)行代碼
機(jī)器代碼
以上都不對
題解:
編譯器將Java源代碼編譯成字節(jié)碼class文件
類加載到JVM里面后,執(zhí)行引擎把字節(jié)碼轉(zhuǎn)為可執(zhí)行代碼
執(zhí)行的過程,再把可執(zhí)行代碼轉(zhuǎn)為機(jī)器碼,由底層的操作系統(tǒng)完成執(zhí)行。
2、執(zhí)行如下代碼后輸出結(jié)果為( )
public class Test { public static void main(String[] args) { System.out.println("return value of getValue(): " + getValue()); } public static int getValue() { int i = 1; try { i = 4; } finally{ i++; return i; } } }
正確答案: C
return value of getValue(): 1
return value of getValue(): 4
return value of getValue(): 5
其他幾項(xiàng)都不對
題解:
經(jīng)過try之后i變成4,在經(jīng)過finally,i變?yōu)?
3、命令javac-d參數(shù)的用途是?()
正確答案: A
指定編譯后類層次的根目錄
指定編譯時(shí)需要依賴類的路徑
指定編譯時(shí)的編碼
沒有這一個(gè)參數(shù)
題解:
javac -d 指定放置生成的類文件的位置
javac -s 指定放置生成的源文件的位置
4、關(guān)于Java的抽象類、接口,以下描述錯(cuò)誤的是?
正確答案: C
抽象類不一定含有抽象方法,接口中的方法都是抽象方法
一個(gè)類只能繼承一個(gè)抽象類,但可以實(shí)現(xiàn)多個(gè)接口;一個(gè)接口可以繼承多個(gè)接口
抽象類和接口中的方法都沒有方法體
抽象類可以含有私有成員變量,接口不含有私有成員變量
題解:
A:抽象類不一定含有抽象方法,接口中的方法都是抽象方法。
接口中的方法默認(rèn)修飾符有public abstract。
B:一個(gè)類只能繼承一個(gè)一個(gè)抽象類,但可以實(shí)現(xiàn)多個(gè)接口;一個(gè)接口可以繼承多個(gè)接口。
Java里類是單繼承的,接口是可以多繼承的,用關(guān)鍵字extends。
C:抽象類和接口中的方法都沒有方法體。
抽象類中的方法是可以有方法體的。JDK1.8之后,接口中的方法也可以有方法體,用default關(guān)鍵字修飾方法。
D:抽象類可以含有私有成員變量,接口不含有私有成員變量。
接口中的成員變量都是public static final的,一般用作常量。
5、在JAVA中,假設(shè)A有構(gòu)造方法A(int a),則在類A的其他構(gòu)造方法中調(diào)用該構(gòu)造方法和語句格式應(yīng)該為()
正確答案: B
this.A(x)
this(x)
super(x)
A(x)
題解:
this的作用其中一個(gè)就是在一個(gè)構(gòu)造方法中調(diào)用另一個(gè)構(gòu)造方法,格式為this(參數(shù));
super是調(diào)用父類的方法;
A(a)這種形式是在new一個(gè)類時(shí)使用。
6、下列哪個(gè)修飾符可以使在一個(gè)類中定義的成員變量只能被同一包中的類訪問?
正確答案: B
private
無修飾符
public
protected
題解:
無修飾符就是默認(rèn)權(quán)限,也叫包訪問權(quán)限,只能被同一包內(nèi)類訪問
7、下列Java代碼中的變量a、b、c分別在內(nèi)存的____存儲區(qū)存放。
正確答案: C
堆區(qū)、堆區(qū)、堆區(qū)
堆區(qū)、棧區(qū)、堆區(qū)
堆區(qū)、棧區(qū)、棧區(qū)
堆區(qū)、堆區(qū)、棧區(qū)
靜態(tài)區(qū)、棧區(qū)、堆區(qū)
靜態(tài)區(qū)、棧區(qū)、棧區(qū)
題解:
a是類中的成員變量,存放在堆區(qū)
b、c都是方法中的局部變量,存放在棧區(qū)
堆區(qū):只存放類對象,線程共享;
方法區(qū):又叫靜態(tài)存儲區(qū),存放class文件和靜態(tài)數(shù)據(jù),線程共享;
棧區(qū):存放方法局部變量,基本類型變量區(qū)、執(zhí)行環(huán)境上下文、操作指令區(qū),線程不共享;
8、以下哪些方法是Object類中的方法
正確答案: A B C D
clone()
toString()
wait()
finalize()
題解:
都是
9、A,B,C,D 中哪些是 setvar的重載?
public class methodover
{
public void setVar(int a, int b, float c) {}
}
正確答案: A C D
private void setVar(int a, float c, int b){}
protected void setVar(int a, int b, float c){}
public int setVar(int a, float c, int b){return a;}
public int setVar(int a, float c){return a;}
題解:
重載是在同一個(gè)類中,有多個(gè)方法名相同,參數(shù)列表不同(參數(shù)個(gè)數(shù)不同,參數(shù)類型不同),與方法的返回值無關(guān),與權(quán)限修飾符無關(guān),B中的參數(shù)列表和題目的方法完全一樣了。
10、下面哪些描述是正確的:( )
public class Test { public static class A { private B ref; public void setB(B b) { ref = b; } } public static Class B { private A ref; public void setA(A a) { ref = a; } } public static void main(String args[]) { … start(); …. } public static void start() { A a = new A(); B b = new B(); a.setB(b); b = null; // a = null; … } }
正確答案: B C
b = null執(zhí)行后b可以被垃圾回收
a = null執(zhí)行后b可以被垃圾回收
a = null執(zhí)行后a可以被垃圾回收
a,b必須在整個(gè)程序結(jié)束后才能被垃圾回收
類A和類B在設(shè)計(jì)上有循環(huán)引用,會導(dǎo)致內(nèi)存泄露
a, b 必須在start方法執(zhí)行完畢才能被垃圾回收
題解:
內(nèi)存如下:
a -> “a(b)”
b -> “b”
a引用指向一塊空間,這塊空間里面包含著b對象
b引用指向一塊空間,這塊空間是b對象
A選項(xiàng),b = null執(zhí)行后b可以被垃圾回收。這里"b可以被垃圾回收"中的b指的是引用b指向的內(nèi)存。這塊內(nèi)存即使不被引用b指向,還是被引用a指向著,不會被回收。
B選項(xiàng),a = null執(zhí)行后b可以被垃圾回收。從代碼中可以看到,a = null是在b = null后執(zhí)行的,該行執(zhí)行后,引用a和b都沒有指向?qū)ο?,對象會被回收?br /> C選項(xiàng),同理。
答案匯總:
1、正確答案: A
2、正確答案: C
3、正確答案: A
4、正確答案: C
5、正確答案: B
6、正確答案: B
7、正確答案: C
8、正確答案: A B C D
9、正確答案: A C D
10、正確答案: B C
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java設(shè)計(jì)模式之策略模式(Strategy模式)介紹
這篇文章主要介紹了Java設(shè)計(jì)模式之策略模式(Strategy模式)介紹,Strategy是屬于設(shè)計(jì)模式中對象行為型模式,要是定義一系列的算法,這些算法一個(gè)個(gè)封裝成單獨(dú)的類,需要的朋友可以參考下2015-03-03Java多線程之定時(shí)器Timer的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java多線程中定時(shí)器Timer類的使用以及模擬實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10Idea Project文件目錄不見了,只剩External Libraries和imi文件的解決
這篇文章主要介紹了Idea Project文件目錄不見了,只剩External Libraries和imi文件的解決方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08三分鐘讀懂mybatis中resultMap和resultType區(qū)別
這篇文章主要給大家介紹了mybatis中resultMap和resultType區(qū)別的相關(guān)資料,resultType和resultMap都是mybatis進(jìn)行數(shù)據(jù)庫連接操作處理返回結(jié)果的,需要的朋友可以參考下2023-07-07Spring Boot 添加MySQL數(shù)據(jù)庫及JPA實(shí)例
本篇文章主要介紹了Spring Boot 添加MySQL數(shù)據(jù)庫及JPA,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03Java中break、continue、return在for循環(huán)中的使用
這篇文章主要介紹了break、continue、return在for循環(huán)中的使用,本文是小編收藏整理的,非常具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11Spring?Boot如何監(jiān)控SQL運(yùn)行情況?
Druid是Java語言中最好的數(shù)據(jù)庫連接池,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot如何監(jiān)控SQL運(yùn)行情況的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04實(shí)例詳解SpringBoot默認(rèn)的JSON解析方案
JSON數(shù)據(jù)現(xiàn)在是我們開發(fā)中用的最多的,百分之九十的數(shù)據(jù)都是通過JSON方式進(jìn)行傳輸,下面這篇文章主要給大家介紹了關(guān)于SpringBoot默認(rèn)的JSON解析方案的相關(guān)資料,需要的朋友可以參考下2021-08-08