java基礎教程試題答案
考試之前我們需要好好的刷題,為了方便大家,小編帶來(lái)了java基礎教程試題答案。
java基礎教程試題答案
1. 什么是JVM?
為什么稱(chēng)Java為跨平臺的編程語(yǔ)言?Java虛擬機(Java Virtual Machine)是可以執行Java字節碼的虛擬機,每個(gè)Java源文件將被編譯成字節碼文件,然后在JVM中執行。Java之所以被設計成可以在任意的平臺運行,而不需要重寫(xiě)或者在不同的平臺下重新編譯,這些都要歸功于Java虛擬機(JVM),因為JVM非常了解特定的指令的長(cháng)度以及底層硬件平臺的特殊性。
2. JDK和JRE之間的差異是什么?
Java運行環(huán)境(Java Runtime Enviroment) 是運行Java程序的基本的Java虛擬機,包括執行applet的瀏覽器插件。JDK (Java Development Kit) 是為了開(kāi)發(fā),編譯和執行Java應用程序,針對Java的全功能的軟件開(kāi)發(fā)包,包含了JRE,編譯器和工具(比如說(shuō) JavaDoc 和Java Debugger)。
3.Java面向對象編程的幾個(gè)特征及具體的特性?
Java面向對象編程有其非常明顯的特性,比如說(shuō)封裝,繼承,多態(tài)和抽象。
1)封裝,提供的對象隱藏內部特性和行為的一種能力,每個(gè)對象提供了一些方法,其他的對象可以訪(fǎng)問(wèn)并改變其內部數據。在Java中,提供了三種訪(fǎng)問(wèn)修飾符: 公有的,私有的以及保護的。每個(gè)修飾符都設定了不同的訪(fǎng)問(wèn)權限,這個(gè)權限設置不會(huì )因為包的不同而有差異,可以通過(guò)鏈接訪(fǎng)問(wèn)博為峰網(wǎng)校的Java面向對象教程查看關(guān)于封裝更多的細節和實(shí)例。
2)多態(tài),就是針對不同的基礎數據類(lèi)型呈現相同接口的一種能力,多態(tài)類(lèi)型就是其操作可以適用于不同類(lèi)型值的一種類(lèi)型。
3)繼承,提供了一個(gè)對象從基類(lèi)獲取字段和方法的一種能力.繼承提供了代碼的重用性,并且在不更改現有類(lèi)的情況下,對現有類(lèi)增加額外的功能。
4)抽象,是從具體的實(shí)例中分離想法的過(guò)程,根據他們各自的功能而非具體的實(shí)現來(lái)開(kāi)發(fā)類(lèi). Java中支持創(chuàng )建和存在暴露接口的抽象類(lèi), 而沒(méi)有包括方法的具體實(shí)現。抽象方法的宗旨就是將類(lèi)的行為和具體實(shí)現分離開(kāi)。
4. 在靜態(tài)方法里可以訪(fǎng)問(wèn)非靜態(tài)變量嗎?
Java 中的 static 變量歸相應的'類(lèi)所有,它的值對于類(lèi)的所有實(shí)例都是相同的。static 變量是在 JVM 加載類(lèi)的時(shí)候初始化的。如果代碼試圖訪(fǎng)問(wèn)非靜態(tài)的變量,而且不是通過(guò)類(lèi)的實(shí)例去訪(fǎng)問(wèn),編譯器會(huì )報錯,因為這些非靜態(tài)變量還沒(méi)有被創(chuàng )建呢,并且它們沒(méi)有與實(shí)例相關(guān)聯(lián)。
5. 在Java中什么是方法的 Override(覆蓋) 和 Overload(重載)?
Java中方法的 overload 發(fā)生的條件是,同一個(gè)類(lèi)里,有兩個(gè)或以上的方法名稱(chēng)完全相同,但參數列表不同。另一方面,方法的 override 是指,子類(lèi)重定義了父類(lèi)里的同一個(gè)方法。Override 的方法必須方法名、參數列表和返回類(lèi)型都完全相同。Override 的方法不會(huì )限制原方法的訪(fǎng)問(wèn)權限。
6.Java支持多繼承嗎?
Java不支持多繼承,每個(gè)類(lèi)只允許繼承一個(gè)類(lèi),但是可以實(shí)現多個(gè)接口。
7.進(jìn)程與線(xiàn)程的區別?
進(jìn)程是一個(gè)程序的執行(即正在運行的程序), 然而線(xiàn)程是在進(jìn)程中獨立的執行序列. 一個(gè)進(jìn)程可以包含很多線(xiàn)程. 線(xiàn)程有時(shí)被稱(chēng)為輕量級的進(jìn)程.
8. Java中垃圾回收的目的是什么, 它什么時(shí)候被使用 ?
垃圾回收用于識別和丟棄程序不再需要的對象, 以便回收和復用資源.
9. finalize()什么時(shí)候被調用 ?
它的目的是什么 ?finallize方法是在釋放該對象內存前由gc(垃圾回收器)調用. 通常建議在這個(gè)方法中釋放該對象持有的資源.
10.如果一個(gè)對象的引用被設置為null, gc會(huì )立即釋放該對象的內存么?
不會(huì ),這個(gè)對象將會(huì )在下一次gc循環(huán)中被回收。
【java基礎教程試題答案】相關(guān)文章:
剪紙雪花剪法基礎教程03-28
英語(yǔ)寫(xiě)作基礎教程課件11-25
商法試題答案04-06
安全試題答案04-03
經(jīng)典村官試題答案06-12
瑜伽的基礎教程是什么呢05-01
瘦金體閱讀試題答案06-12