java課后答案(整理)_第1頁(yè)
java課后答案(整理)_第2頁(yè)
java課后答案(整理)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2-2.Java語(yǔ)言的基本數(shù)據(jù)類(lèi)型有哪些引用數(shù)據(jù)類(lèi)型有哪些【答】基本數(shù)據(jù)類(lèi)型有:整數(shù)類(lèi)型byte、short、int、long,浮點(diǎn)數(shù)類(lèi)型float、double,字符類(lèi)型char,布爾類(lèi)型boolean;引用數(shù)據(jù)類(lèi)型包括數(shù)組(array)、類(lèi)(class)和接口(interface)2-14作為引用數(shù)據(jù)類(lèi)型,數(shù)組變量與基本數(shù)據(jù)類(lèi)型的變量使用時(shí)有哪些區(qū)別【答】數(shù)組變量與基本數(shù)據(jù)類(lèi)型變量不同點(diǎn)在于,存儲(chǔ)單元的分配方式不同,兩個(gè)變量之間的賦值方式也不同?;緮?shù)據(jù)類(lèi)型變量獲得存儲(chǔ)單元的方式是靜態(tài)的,聲明了變量后系統(tǒng)就為變量分配了存儲(chǔ)單元,就可以對(duì)變量賦值。兩個(gè)變量之間的賦值是值本身。數(shù)組變量的引用賦

2、值,數(shù)組變量保存的是數(shù)組的引用,即數(shù)組占用的一片連續(xù)存儲(chǔ)空間的首地址及長(zhǎng)度特性。當(dāng)聲明一個(gè)數(shù)字變量而未申請(qǐng)空間時(shí),變量是未初始化的,沒(méi)有地址及特性值。只有申請(qǐng)了存儲(chǔ)空間,才能以下標(biāo)表示數(shù)組元素。3-1什么是類(lèi)什么是對(duì)象他們之間的關(guān)系是怎樣的【答】在面向?qū)ο蟮母拍钪?,?lèi)是既包括數(shù)據(jù)又包括作用于數(shù)據(jù)的一組操作的封裝體。類(lèi)中的數(shù)據(jù)稱(chēng)為成員變量,類(lèi)中的數(shù)據(jù)操作稱(chēng)為成員方法。類(lèi)中的成員變量和成員方法統(tǒng)稱(chēng)為類(lèi)的成員。對(duì)象是類(lèi)的實(shí)例。對(duì)象與類(lèi)的關(guān)系就像變量與數(shù)據(jù)類(lèi)型的關(guān)系一樣。是抽象與具體,模板與實(shí)例的關(guān)系,類(lèi)是抽象的、是模板,對(duì)象是具體的、是實(shí)例。3-2作為引用數(shù)據(jù)類(lèi)型,對(duì)象在賦值和方法的參數(shù)傳遞方面與基

3、本數(shù)據(jù)類(lèi)型的變量有什么不同【答】作為引用數(shù)據(jù)類(lèi)型,兩個(gè)對(duì)象之間的賦值是引用賦值,對(duì)象可被賦值為null。具體可參見(jiàn)課本第三章圖的(d)。方法聲明中形式參數(shù)的數(shù)據(jù)類(lèi)型,既可以是基本數(shù)據(jù)類(lèi)型,也可以是引用數(shù)據(jù)類(lèi)型。如果形式參數(shù)的數(shù)據(jù)類(lèi)型是基本數(shù)據(jù)類(lèi)型,則實(shí)際參數(shù)向形式參數(shù)傳遞的是值;如果形參的數(shù)據(jù)類(lèi)型是引用數(shù)據(jù)類(lèi)型,則實(shí)參向形參傳遞的是引用。同樣,方法返回值的數(shù)據(jù)類(lèi)型,既可以是基本數(shù)據(jù)類(lèi)型,也可以是引用數(shù)據(jù)類(lèi)型,兩者分別傳遞值和引用。3-5什么是封裝為什么要將類(lèi)封裝起來(lái)封裝的原則是什么【答】封裝性是面向?qū)ο蟮暮诵奶卣髦唬峁┮环N信息隱藏技術(shù)。類(lèi)的封裝包含兩層含義:一是將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作組合起

4、來(lái)構(gòu)成類(lèi),類(lèi)是一個(gè)不可分割的獨(dú)立單位;二是類(lèi)中既要提供與外部聯(lián)系的方法,同時(shí)又要盡可能隱藏類(lèi)的實(shí)現(xiàn)細(xì)節(jié)。軟件擴(kuò)充和維護(hù)的需要需對(duì)類(lèi)進(jìn)行封裝。封裝原則:隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。3-10Java定義了幾個(gè)關(guān)鍵字用于表示幾種訪問(wèn)權(quán)限各表示什么含義類(lèi)有幾種訪問(wèn)權(quán)限類(lèi)中成員有幾種訪問(wèn)權(quán)限分別使用什么關(guān)鍵字【答】Java定義了三個(gè)表示權(quán)限的關(guān)鍵字(public、protected、private)。類(lèi)有2種訪問(wèn)權(quán)限分別是:公有public,缺省。類(lèi)中成員有4種訪問(wèn)權(quán)限分別是:公有public,可被所有類(lèi)訪問(wèn);保護(hù)protected,可被同一包及包外所有子類(lèi)訪問(wèn);缺省,可被當(dāng)前包中所有類(lèi)訪問(wèn);私有private,

5、只能被當(dāng)前類(lèi)訪問(wèn)。3-26什么是多態(tài)性什么是方法的重載方法的重載和覆蓋有何區(qū)別【答】在面向?qū)ο笳Z(yǔ)言中,多態(tài)是指一個(gè)方法可以有多種實(shí)現(xiàn)版本,類(lèi)的多態(tài)性表現(xiàn)為方法的多態(tài)性。重載是指同一個(gè)類(lèi)中的多個(gè)方法可以同名但參數(shù)列表必須不同。重載表現(xiàn)為同一個(gè)類(lèi)中方法的多態(tài)性。覆蓋是指子類(lèi)重定義了父類(lèi)中的同名方法。覆蓋表現(xiàn)為父類(lèi)與子類(lèi)之間方法的多態(tài)性。3-27什么是運(yùn)行時(shí)多態(tài)方法的重載和覆蓋分別是什么時(shí)的多態(tài)性則稱(chēng)【答】如果在編譯時(shí)不能確定、只有在運(yùn)行時(shí)才能確定執(zhí)行多個(gè)同名方法中的哪一個(gè),為運(yùn)行時(shí)多態(tài)。方法的重載都是編譯時(shí)多態(tài)。方法的覆蓋變現(xiàn)出兩種多態(tài)性,當(dāng)對(duì)象獲得本類(lèi)的實(shí)例時(shí),為編譯時(shí)多態(tài),否則為運(yùn)行時(shí)多態(tài)。3

6、-34什么是抽象類(lèi)在什么情況下需要設(shè)計(jì)抽象類(lèi)抽象類(lèi)中是否必須有抽象方法【答】使用關(guān)鍵字abstract聲明的類(lèi)稱(chēng)為抽象類(lèi),使用abstract聲明的成員方法為抽象方法。抽象類(lèi)中可以不包含抽象方法,但包含抽象方法的類(lèi)必須被聲明為抽象類(lèi)。4-1什么是接口接口和抽象類(lèi)有哪些相同之處和不同之處【答】接口是一組常量和抽象方法的集合。在Java中,接口是一種引用數(shù)據(jù)類(lèi)型,用關(guān)鍵字implements聲明。接口與抽象類(lèi)的區(qū)別為:相同點(diǎn):1.兩者都包含抽象方法,約定多個(gè)類(lèi)共用方法的參數(shù)列表和返回值。2.兩者都不能被實(shí)例化。3.兩者都是引用數(shù)據(jù)類(lèi)型,其變量可被賦值為子類(lèi)或?qū)崿F(xiàn)接口類(lèi)的對(duì)象。不同點(diǎn):1.抽象類(lèi)約定

7、多個(gè)子類(lèi)之間共同使用的方法;接口約定多個(gè)互不相關(guān)類(lèi)之間共同使用的方法。2.抽象類(lèi)與子類(lèi)之間采用單重繼承機(jī)制;一個(gè)類(lèi)實(shí)現(xiàn)多個(gè)接口則實(shí)現(xiàn)了多重繼承的功能。3.抽象類(lèi)及其類(lèi)中成員具有與普通類(lèi)一樣的訪問(wèn)權(quán)限;接口的訪問(wèn)權(quán)限由public和缺省兩種,接口中成員的訪問(wèn)權(quán)限均是public。4.抽象類(lèi)中可以包含非抽象方法,也可以聲明構(gòu)造方法;接口中的方法必須全部是抽象方法,不能聲明構(gòu)造方法。5.抽象類(lèi)中可以聲明成員變量,子類(lèi)可以對(duì)該成員變量賦值;接口中只能聲明常量。4-3什么是單重繼承什么是多重繼承類(lèi)的層次體系為什么需要多重繼承單重繼承有什么缺點(diǎn)既然有缺點(diǎn),為什么Java仍然采用單重繼承Java怎樣實(shí)現(xiàn)多重

8、繼承【答】單重繼承就是一個(gè)類(lèi)只能有一個(gè)父類(lèi)。多繼承就是可以有多個(gè)父類(lèi)?,F(xiàn)實(shí)中的對(duì)象往往表現(xiàn)出多種特性,用單重繼承無(wú)法客觀描繪,因此需要多重繼承。但是C+的多重繼承過(guò)于復(fù)雜,因此Java用“單重繼承+接口”代替了多重繼承,以提高運(yùn)行效率,增加安全性,降低復(fù)雜性。4-8Java為什么需要聲明基本數(shù)據(jù)類(lèi)型的包裝類(lèi)基本數(shù)據(jù)類(lèi)型的包裝類(lèi)有哪些【答】為實(shí)現(xiàn)完全面向?qū)ο蟮奶匦裕琂ava為每個(gè)基本數(shù)據(jù)類(lèi)型都聲明有對(duì)應(yīng)的一個(gè)類(lèi)。公有8個(gè)基本數(shù)據(jù)類(lèi)型的包裝類(lèi):Byte、Short、Integer、Long、Float、Double、Character、Boolean5-1Java為什么要采用異常處理機(jī)制Java的

9、異常處理是怎樣實(shí)現(xiàn)的異常處理機(jī)制能夠解決程序中遇到的所有錯(cuò)誤嗎哪些錯(cuò)誤不是異常處理能夠解決的【答】異常處理和捕獲和處理運(yùn)行時(shí)錯(cuò)誤的一種機(jī)制。異常處理機(jī)制使程序具有處理錯(cuò)誤的能力。即使發(fā)生了運(yùn)行錯(cuò),應(yīng)用程序能夠捕獲異常并及時(shí)處理異常,使程序從運(yùn)行錯(cuò)誤中很好地恢復(fù)并繼續(xù)運(yùn)行,而不會(huì)導(dǎo)致程序運(yùn)行非正常終止。而且如果當(dāng)前方法沒(méi)有能力處理異常,還可以將異常轉(zhuǎn)交給調(diào)用者處理。異常處理機(jī)制將運(yùn)行時(shí)錯(cuò)誤封裝成若干錯(cuò)誤類(lèi)和異常類(lèi),并提供異常處理語(yǔ)句用于處理在程序中實(shí)現(xiàn)對(duì)運(yùn)行時(shí)錯(cuò)誤的發(fā)現(xiàn)和及時(shí)處理。異常處理機(jī)制并不能解決程序中的所有錯(cuò)誤,例如內(nèi)存溢出、棧溢出等。5-7為什么將字符串轉(zhuǎn)換成數(shù)值類(lèi)型時(shí)會(huì)拋出異常拋出什

10、么異?!敬稹坎⒉皇撬械淖址寄苻D(zhuǎn)換成數(shù)值型,當(dāng)遇到一個(gè)不能轉(zhuǎn)轉(zhuǎn)換成數(shù)值型的字符串時(shí),Java拋出NumberFormatException異常。5-11說(shuō)明throw語(yǔ)句與throws子句的區(qū)別。【答】用于拋出方法層次的異常,并且直接由些方法調(diào)用異常處理類(lèi)來(lái)處理該異常,所以它常用在方法的后面。比如publicstaticvoidmain(Stringargs)throwsSQLException用于拋出代碼層次的異常,常用于方法塊里面的代碼,常和try.catch.語(yǔ)句塊搭配實(shí)用,比throws的層次要低。什么是進(jìn)程什么是線程進(jìn)程與線程的關(guān)系是怎樣的【答】進(jìn)程:進(jìn)程是一個(gè)可并發(fā)的具有獨(dú)立功

11、能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次執(zhí)行過(guò)程,也是操作系統(tǒng)進(jìn)行資源分配和保護(hù)的基本單位。線程:線程是操作系統(tǒng)進(jìn)程中能夠獨(dú)立執(zhí)行的實(shí)體,是處理器調(diào)度和分派的基本單位。線程是進(jìn)程的組成部分,每個(gè)進(jìn)程內(nèi)允許包含多個(gè)并發(fā)執(zhí)行的線程。Java提供了哪些接口和類(lèi)實(shí)現(xiàn)多線程機(jī)制【答】Java主要提供了接口和Thread線程類(lèi)來(lái)實(shí)現(xiàn)多線程機(jī)制。一個(gè)線程對(duì)象的生命周期有哪幾種狀態(tài)構(gòu)成各狀態(tài)之間是如何變化的【答】New Thte 必)線程對(duì)象的生命周期主要包括:新建態(tài)、就緒態(tài)和運(yùn)行態(tài)、阻塞態(tài)和等待態(tài)、終止態(tài)。新建態(tài)通過(guò)start()方法是線程成為運(yùn)行態(tài),當(dāng)運(yùn)行態(tài)遇到sleep()或wait()方法時(shí)就進(jìn)入等待態(tài),而當(dāng)sleep()時(shí)間到或通過(guò)notify()方法線程就又進(jìn)入了運(yùn)行態(tài);當(dāng)運(yùn)行態(tài)遇到synchronized。方法時(shí)就進(jìn)入阻塞態(tài),當(dāng)線程獲得互斥鎖使用權(quán)時(shí)就又到了運(yùn)行態(tài);當(dāng)線程的run()方法結(jié)束時(shí)整個(gè)線程就進(jìn)入了終止態(tài),整個(gè)線程結(jié)束。Java提供了哪些方法能夠改變線程狀態(tài)程序中能夠調(diào)度線程立即執(zhí)行嗎【答】Java中提供了start()方法來(lái)啟動(dòng)已創(chuàng)建的線程對(duì)象;sleep()方法使當(dāng)前線程睡眠若干毫秒,線程有運(yùn)行態(tài)進(jìn)入等待態(tài),但是不交出臨界區(qū)的鎖;yield()方法暫

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論