面向?qū)ο蟪绦蛟O(shè)計(jì)課程題庫(kù)理論_第1頁(yè)
已閱讀1頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JavaJava基礎(chǔ)回顧基礎(chǔ)回顧說(shuō)明說(shuō)明Java和面向?qū)ο蟊旧戆_萬(wàn)象,我們回顧的重點(diǎn)是基礎(chǔ)知識(shí)。以下是問(wèn)題和參考答案,完全對(duì)很難,發(fā)現(xiàn)一個(gè)“原則上的”錯(cuò)誤,期末加2分。1、面向?qū)ο蟮奶卣饔心男┓矫??、面向?qū)ο蟮奶卣饔心男┓矫??答:面向?qū)ο蟮奶卣髦饕幸韵聨讉€(gè)方面:抽象:抽象是將一類對(duì)象的共同特征總結(jié)出來(lái)構(gòu)造類的過(guò)程,包括數(shù)據(jù)抽象和行為抽象兩方面。抽象只關(guān)注對(duì)象有哪些屬性和行為,并不關(guān)注這些行為的細(xì)節(jié)是什么。繼承:繼承是從已有類得到繼承

2、信息創(chuàng)建新類的過(guò)程。提供繼承信息的類被稱為父類(超類、基類);得到繼承信息的類被稱為子類(派生類)。繼承讓變化中的軟件系統(tǒng)有了一定的延續(xù)性,同時(shí)繼承也是封裝程序中可變因素的重要手段(如果不能理解請(qǐng)閱讀閻宏博士的《Java與模式》或《設(shè)計(jì)模式精解》中關(guān)于橋梁模式的部分)。封裝:通常認(rèn)為封裝是把數(shù)據(jù)和操作數(shù)據(jù)的方法綁定起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的接口。面向?qū)ο蟮谋举|(zhì)就是將現(xiàn)實(shí)世界描繪成一系列完全自治、封閉的對(duì)象。我們?cè)陬愔芯帉?xiě)的方法就

3、是對(duì)實(shí)現(xiàn)細(xì)節(jié)的一種封裝;我們編寫(xiě)一個(gè)類就是對(duì)數(shù)據(jù)和數(shù)據(jù)操作的封裝??梢哉f(shuō),封裝就是隱藏一切可隱藏的東西,只向外界提供最簡(jiǎn)單的編程接口(可以想想普通洗衣機(jī)和全自動(dòng)洗衣機(jī)的差別,明顯全自動(dòng)洗衣機(jī)封裝更好因此操作起來(lái)更簡(jiǎn)單;我們現(xiàn)在使用的智能手機(jī)也是封裝得足夠好的,因?yàn)閹讉€(gè)按鍵就搞定了所有的事情)。多態(tài)性:多態(tài)性是指允許不同子類型的對(duì)象對(duì)同一消息作出不同的響應(yīng)。簡(jiǎn)單的說(shuō)就是用同樣的對(duì)象引用調(diào)用同樣的方法但是做了不同的事情。多態(tài)性分為編譯時(shí)的多

4、態(tài)性和運(yùn)行時(shí)的多態(tài)性。如果將對(duì)象的方法視為對(duì)象向外界提供的服務(wù),那么運(yùn)行時(shí)的多態(tài)性可以解釋為:當(dāng)A系統(tǒng)訪問(wèn)B系統(tǒng)提供的服務(wù)時(shí),B系統(tǒng)有多種提供服務(wù)的方式,但一切對(duì)A系統(tǒng)來(lái)說(shuō)都是透明的(就像電動(dòng)剃須刀是A系統(tǒng),它的供電系統(tǒng)是B系統(tǒng),B系統(tǒng)可以使用電池供電或者用交流電,甚至還有可能是太陽(yáng)能,A系統(tǒng)只會(huì)通過(guò)B類對(duì)象調(diào)用供電的方法,但并不知道供電系統(tǒng)的底層實(shí)現(xiàn)是什么,究竟通過(guò)何種方式獲得了動(dòng)力)。方法重載(overload)實(shí)現(xiàn)的是編譯時(shí)的多態(tài)

5、性(也稱為前綁定),而方法重寫(xiě)(override)實(shí)現(xiàn)的是運(yùn)行時(shí)的多態(tài)性(也稱為后綁定)。運(yùn)行時(shí)的多態(tài)是面向?qū)ο笞罹璧臇|西,要實(shí)現(xiàn)多態(tài)需要做兩件事:1).方法重寫(xiě)(子類繼承父類并重寫(xiě)父類中已有的或抽象的方法);2).對(duì)象造型(用父類型引用引用子類型對(duì)象,這樣同樣的引用調(diào)用同樣的方法就會(huì)根據(jù)子類對(duì)象的不同而表現(xiàn)出不同的行為)。2、訪問(wèn)修飾符、訪問(wèn)修飾符publicprivateprotected以及不寫(xiě)(默認(rèn))時(shí)的區(qū)別?以及不寫(xiě)(默認(rèn))

6、時(shí)的區(qū)別?答:修飾符修飾符當(dāng)前類當(dāng)前類同包子類其他包其他包方法publicvoideat(Foodfood)吃food是食物類6、int和Integer哪個(gè)會(huì)占用更多的內(nèi)存?哪個(gè)會(huì)占用更多的內(nèi)存?答:Integer對(duì)象會(huì)占用更多的內(nèi)存。Integer是一個(gè)對(duì)象,需要存儲(chǔ)對(duì)象的元數(shù)據(jù)。但是int是一個(gè)原始類型的數(shù)據(jù),所以占用的空間更少。7、什么是開(kāi)發(fā)平臺(tái)?、什么是開(kāi)發(fā)平臺(tái)?答:在軟件開(kāi)發(fā)的過(guò)程中,我們需要很多的工具來(lái)輔助我們的工作,不可能

7、什么都從頭自己做。我們把編程的環(huán)境和相應(yīng)的輔助工具統(tǒng)稱為開(kāi)發(fā)環(huán)境,開(kāi)發(fā)平臺(tái)就是用來(lái)提供這個(gè)開(kāi)發(fā)環(huán)境的。比如,車床工人需要一個(gè)車床才能工作一樣。同樣,Java是一種開(kāi)發(fā)平臺(tái)Java不單純是一個(gè)編程的語(yǔ)言,它自身提供了一系列開(kāi)發(fā)Java所需要的環(huán)境和工具,來(lái)進(jìn)行編譯、解釋、文檔生成、打包等。8、淺析、淺析JDK,JRE與JVM的含義和聯(lián)系。的含義和聯(lián)系。答:JDK(JavaDevelopmentKit)是面向開(kāi)發(fā)人員使用的SDK,它提供了J

8、ava的開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境。SDK是SoftwareDevelopmentKit一般指軟件開(kāi)發(fā)包,可以包括函數(shù)庫(kù)、編譯程序等。JRE(JavaRuntimeEnvironment)是指Java的運(yùn)行環(huán)境,是面向Java程序的使用者,而不是開(kāi)發(fā)者。JVM(JavaVirtualMachine)是java虛擬機(jī),它是整個(gè)java實(shí)現(xiàn)跨平臺(tái)的最核心的部分,所有的java程序會(huì)首先被編譯為.class的類文件,這種類文件可以在虛擬機(jī)上執(zhí)行,也就

9、是說(shuō)class并不直接與機(jī)器的操作系統(tǒng)相對(duì)應(yīng),而是經(jīng)過(guò)虛擬機(jī)間接與操作系統(tǒng)交互,由虛擬機(jī)將程序解釋給本地系統(tǒng)執(zhí)行。如果安裝了JDK,會(huì)發(fā)現(xiàn)你的電腦有兩套JRE,一套位于Javajdkjre另外一套位于Javajre目錄下,后面這套比前面那套少了Server端的Java虛擬機(jī)。jdk的bin下有各種java程序需要用到的命令,與jre下的bin目錄最明顯的區(qū)別就是jdk下才有javac,這一點(diǎn)很好理解,因?yàn)閖re只是一個(gè)運(yùn)行環(huán)境而已,與開(kāi)

10、發(fā)無(wú)關(guān),正因?yàn)槿绱?,具備開(kāi)發(fā)功能的jdk自己的jre下才會(huì)同時(shí)有client性質(zhì)的jvm和server性質(zhì)的jvm,而僅僅作為運(yùn)行環(huán)境的jre下只需要client性質(zhì)的jvm.dll就夠了。JRE的地位就像一臺(tái)PC機(jī)一樣,我們寫(xiě)好的Win32應(yīng)用程序需要操作系統(tǒng)幫我們運(yùn)行,同樣的,我們編寫(xiě)的Java程序也必須要JRE才能運(yùn)行。所以當(dāng)你裝完JDK后,如果分別在硬盤上的兩個(gè)不同地方安裝了兩套JRE,那么你可以想象你的電腦有兩臺(tái)虛擬的Java

溫馨提示

  • 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ù)僅提供信息存儲(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)論