編程語(yǔ)言的類(lèi)型系統(tǒng)描述了其數(shù)據(jù)元素(變量和常量)與實(shí)際物理存儲(chǔ)如何關(guān)聯(lián)。在一個(gè)靜態(tài)類(lèi)型語(yǔ)言中(如C或C++),數(shù)據(jù)元素的類(lèi)型是一個(gè)不會(huì)改變的簡(jiǎn)單屬性,它總是直接對(duì)應(yīng)于某種底層硬件特質(zhì),如寄存器或指針值。在一個(gè)更為動(dòng)態(tài)的...[繼續(xù)閱讀]
海量資源,盡在掌握
編程語(yǔ)言的類(lèi)型系統(tǒng)描述了其數(shù)據(jù)元素(變量和常量)與實(shí)際物理存儲(chǔ)如何關(guān)聯(lián)。在一個(gè)靜態(tài)類(lèi)型語(yǔ)言中(如C或C++),數(shù)據(jù)元素的類(lèi)型是一個(gè)不會(huì)改變的簡(jiǎn)單屬性,它總是直接對(duì)應(yīng)于某種底層硬件特質(zhì),如寄存器或指針值。在一個(gè)更為動(dòng)態(tài)的...[繼續(xù)閱讀]
盡管Java聲明方法的做法與C++截然不同,但是Java中語(yǔ)句和表達(dá)式的語(yǔ)法卻非常類(lèi)似于C。同樣,Java的創(chuàng)建者擁有C背景,而且這種設(shè)計(jì)的出發(fā)點(diǎn)是為了使C程序員可以輕松地訪(fǎng)問(wèn)Java的低級(jí)細(xì)節(jié)。Java語(yǔ)句(statement)出現(xiàn)在方法和類(lèi)的內(nèi)部;它們描...[繼續(xù)閱讀]
可以認(rèn)為Java植根于嵌入式系統(tǒng),即運(yùn)行在特定設(shè)備(如手持計(jì)算機(jī)、蜂窩電話(huà)和超級(jí)烤面包機(jī)等)中的軟件。在這些應(yīng)用中,軟件錯(cuò)誤必須得到健壯的處理,這一點(diǎn)極為重要。如果用戶(hù)的電話(huà)很容易就死機(jī),或者他們的烤面包機(jī)由于其軟件...[繼續(xù)閱讀]
斷言(assertion)是對(duì)某個(gè)條件的一種“通過(guò)/失敗”簡(jiǎn)單測(cè)試,并在應(yīng)用運(yùn)行時(shí)完成。斷言可用于檢查代碼的“健全性”,即通過(guò)正確的程序操作,可以確信某些條件在任何位置都能得到保證。斷言與其他類(lèi)型的測(cè)試有所區(qū)別,因?yàn)樗鼈兯鶛z...[繼續(xù)閱讀]
數(shù)組是一種特殊的對(duì)象類(lèi)型,其中可以保存一個(gè)有序的元素集合。數(shù)組元素的類(lèi)型稱(chēng)為該數(shù)組的基類(lèi)型(basetype);其中保存的元素個(gè)數(shù)是一個(gè)固定的屬性,稱(chēng)為其長(zhǎng)度(length)。Java支持所有基本類(lèi)型和引用類(lèi)型的數(shù)組。數(shù)組的基本語(yǔ)法非常...[繼續(xù)閱讀]
類(lèi)是構(gòu)建Java應(yīng)用這幢“大樓”的“磚瓦”。類(lèi)(class)中可以包含方法(函數(shù))、變量、初始化代碼,甚至還可包括其他類(lèi)(后面將要談到)。它就相當(dāng)于建立類(lèi)實(shí)例(instance)的一個(gè)藍(lán)圖,所謂類(lèi)實(shí)例是實(shí)現(xiàn)類(lèi)結(jié)構(gòu)的運(yùn)行時(shí)對(duì)象。聲明類(lèi)時(shí)要使...[繼續(xù)閱讀]
方法出現(xiàn)于類(lèi)的體中。方法中包含有局部變量聲明和其他Java語(yǔ)句,當(dāng)方法被調(diào)用時(shí)這些語(yǔ)句將由一個(gè)調(diào)用線(xiàn)程來(lái)執(zhí)行。Java中的方法聲明看上去非常類(lèi)似于ANSIC風(fēng)格的函數(shù)聲明,只是有兩點(diǎn)限制:Java中的方法總是要指定一個(gè)返回類(lèi)型(對(duì)...[繼續(xù)閱讀]
Java中的對(duì)象分配在一個(gè)系統(tǒng)“堆”內(nèi)存空間中,這與C或C+非常類(lèi)似。但是,與C或C++又有所不同,我們不必自行管理此內(nèi)存。Java會(huì)負(fù)責(zé)內(nèi)存的分配和釋放。當(dāng)你用new操作符創(chuàng)建對(duì)象時(shí),Java會(huì)顯式地為其分配存儲(chǔ)空間。更重要的是,對(duì)象不...[繼續(xù)閱讀]
我們已經(jīng)了解了如何創(chuàng)建對(duì)象,下面要談到對(duì)象的銷(xiāo)毀了。如果已經(jīng)習(xí)慣于使用C或C++編程,你也許會(huì)花費(fèi)大量時(shí)間來(lái)追蹤代碼中的內(nèi)存泄漏。值得高興的是,Java會(huì)幫你完成對(duì)象的銷(xiāo)毀;而你也不必再擔(dān)心內(nèi)存泄漏的問(wèn)題,從而可以將精力...[繼續(xù)閱讀]
Java中的類(lèi)均存在于一個(gè)層次體系結(jié)構(gòu)中。在Java中,一個(gè)類(lèi)可以通過(guò)使用extends關(guān)鍵字聲明為另一個(gè)類(lèi)的子類(lèi)(subclass)。子類(lèi)可以從其超類(lèi)(superclass)繼承(inherit)變量和方法,并加以使用,就如同這些變量和方法由該子類(lèi)本身所聲明一樣:cl...[繼續(xù)閱讀]