Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(57)
承蒙各位厚愛(ài),我們一起每天進(jìn)步一點(diǎn)點(diǎn)?。ㄊ髽?biāo)選中空白處查看答案)
1、在 JAVA 編程中, Java 編譯器會(huì)將 Java 程序轉(zhuǎn)換為( )
正確答案: A
字節(jié)碼
可執(zhí)行代碼
機(jī)器代碼
以上都不對(duì)
題解:
編譯器將Java源代碼編譯成字節(jié)碼class文件
類(lèi)加載到JVM里面后,執(zhí)行引擎把字節(jié)碼轉(zhuǎn)為可執(zhí)行代碼
執(zhí)行的過(guò)程,再把可執(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)都不對(duì)
題解:
經(jīng)過(guò)try之后i變成4,在經(jīng)過(guò)finally,i變?yōu)?
3、命令javac-d參數(shù)的用途是?()
正確答案: A
指定編譯后類(lèi)層次的根目錄
指定編譯時(shí)需要依賴(lài)類(lèi)的路徑
指定編譯時(shí)的編碼
沒(méi)有這一個(gè)參數(shù)
題解:
javac -d 指定放置生成的類(lèi)文件的位置
javac -s 指定放置生成的源文件的位置
4、關(guān)于Java的抽象類(lèi)、接口,以下描述錯(cuò)誤的是?
正確答案: C
抽象類(lèi)不一定含有抽象方法,接口中的方法都是抽象方法
一個(gè)類(lèi)只能繼承一個(gè)抽象類(lèi),但可以實(shí)現(xiàn)多個(gè)接口;一個(gè)接口可以繼承多個(gè)接口
抽象類(lèi)和接口中的方法都沒(méi)有方法體
抽象類(lèi)可以含有私有成員變量,接口不含有私有成員變量
題解:
A:抽象類(lèi)不一定含有抽象方法,接口中的方法都是抽象方法。
接口中的方法默認(rèn)修飾符有public abstract。
B:一個(gè)類(lèi)只能繼承一個(gè)一個(gè)抽象類(lèi),但可以實(shí)現(xiàn)多個(gè)接口;一個(gè)接口可以繼承多個(gè)接口。
Java里類(lèi)是單繼承的,接口是可以多繼承的,用關(guān)鍵字extends。
C:抽象類(lèi)和接口中的方法都沒(méi)有方法體。
抽象類(lèi)中的方法是可以有方法體的。JDK1.8之后,接口中的方法也可以有方法體,用default關(guān)鍵字修飾方法。
D:抽象類(lèi)可以含有私有成員變量,接口不含有私有成員變量。
接口中的成員變量都是public static final的,一般用作常量。
5、在JAVA中,假設(shè)A有構(gòu)造方法A(int a),則在類(lèi)A的其他構(gòu)造方法中調(diào)用該構(gòu)造方法和語(yǔ)句格式應(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)用父類(lèi)的方法;
A(a)這種形式是在new一個(gè)類(lèi)時(shí)使用。
6、下列哪個(gè)修飾符可以使在一個(gè)類(lèi)中定義的成員變量只能被同一包中的類(lèi)訪問(wèn)?
正確答案: B
private
無(wú)修飾符
public
protected
題解:
無(wú)修飾符就是默認(rèn)權(quán)限,也叫包訪問(wèn)權(quán)限,只能被同一包內(nèi)類(lèi)訪問(wèn)
7、下列Java代碼中的變量a、b、c分別在內(nèi)存的____存儲(chǔ)區(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是類(lèi)中的成員變量,存放在堆區(qū)
b、c都是方法中的局部變量,存放在棧區(qū)
堆區(qū):只存放類(lèi)對(duì)象,線程共享;
方法區(qū):又叫靜態(tài)存儲(chǔ)區(qū),存放class文件和靜態(tài)數(shù)據(jù),線程共享;
棧區(qū):存放方法局部變量,基本類(lèi)型變量區(qū)、執(zhí)行環(huán)境上下文、操作指令區(qū),線程不共享;
8、以下哪些方法是Object類(lèi)中的方法
正確答案: 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è)類(lèi)中,有多個(gè)方法名相同,參數(shù)列表不同(參數(shù)個(gè)數(shù)不同,參數(shù)類(lèi)型不同),與方法的返回值無(wú)關(guān),與權(quán)限修飾符無(wú)關(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é)束后才能被垃圾回收
類(lèi)A和類(lèi)B在設(shè)計(jì)上有循環(huán)引用,會(huì)導(dǎo)致內(nèi)存泄露
a, b 必須在start方法執(zhí)行完畢才能被垃圾回收
題解:
內(nèi)存如下:
a -> “a(b)”
b -> “b”
a引用指向一塊空間,這塊空間里面包含著b對(duì)象
b引用指向一塊空間,這塊空間是b對(duì)象
A選項(xiàng),b = null執(zhí)行后b可以被垃圾回收。這里"b可以被垃圾回收"中的b指的是引用b指向的內(nèi)存。這塊內(nèi)存即使不被引用b指向,還是被引用a指向著,不會(huì)被回收。
B選項(xiàng),a = null執(zhí)行后b可以被垃圾回收。從代碼中可以看到,a = null是在b = null后執(zhí)行的,該行執(zhí)行后,引用a和b都沒(méi)有指向?qū)ο?,?duì)象會(huì)被回收。
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é)
本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
idea同時(shí)打開(kāi)多個(gè)項(xiàng)目的圖文教程
這篇文章主要給大家介紹了idea同時(shí)打開(kāi)多個(gè)項(xiàng)目的圖文教程,文章通過(guò)圖文結(jié)合的形式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02
解決Hibernate4執(zhí)行save()或update()無(wú)效問(wèn)題的方法
這篇文章主要為大家詳細(xì)介紹了解決Hibernate4執(zhí)行save()或update()無(wú)效問(wèn)題的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
詳解SpringMVC中的@RequestMapping注解
這篇文章主要介紹了SpringMVC中@RequestMapping注解,@RequestMapping注解是一個(gè)用來(lái)處理請(qǐng)求地址映射的注解,可用于映射一個(gè)請(qǐng)求或一個(gè)方法,可以用在類(lèi)或方法上,需要的朋友可以參考下2023-07-07
java設(shè)計(jì)模式學(xué)習(xí)之策略模式
這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式學(xué)習(xí)之策略模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
maven打包本地jar到項(xiàng)目中的方法實(shí)現(xiàn)
本文主要介紹了maven打包本地jar到項(xiàng)目中的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
關(guān)于@Transactional事務(wù)表被鎖的問(wèn)題及解決
這篇文章主要介紹了關(guān)于@Transactional事務(wù)表被鎖的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Springboot中@ConfigurationProperties輕松管理應(yīng)用程序的配置信息詳解
通過(guò)@ConfigurationProperties注解,可以將外部配置文件中的屬性值注入到JavaBean中,簡(jiǎn)化了配置屬性的讀取和管理,這使得SpringBoot應(yīng)用程序中配置文件的屬性值可以映射到POJO類(lèi)中,實(shí)現(xiàn)類(lèi)型安全的屬性訪問(wèn),此方法避免了手動(dòng)讀取配置文件屬性的需要2024-10-10
Java并發(fā)編程——volatile關(guān)鍵字
這篇文章主要介紹了Java并發(fā)編程——volatile關(guān)鍵字的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java并發(fā)編程,感興趣的朋友可以了解下2020-10-10



