For investors
股價(jià):
5.36 美元 %For investors
股價(jià):
5.36 美元 %認(rèn)真做教育 專(zhuān)心促就業(yè)
C++(C++培訓(xùn) )++和Java之間仍存在一些顯著的差異??梢赃@樣說(shuō),這些差異代表著技術(shù)的極大進(jìn)步。一旦我們弄清楚了這些差異,就會(huì)理解為什么說(shuō)Java是一種優(yōu)秀的程序設(shè)計(jì)語(yǔ)言。本附錄將引導(dǎo)大家認(rèn)識(shí)用于區(qū)分Java和C++的一些重要特征。
(1) 最大的障礙在于速度:解釋過(guò)的Java要比C的執(zhí)行速度慢上約20倍。無(wú)論什么都不能阻止Java語(yǔ)言進(jìn)行編譯。寫(xiě)作本書(shū)的時(shí)候,剛剛出現(xiàn)了一些準(zhǔn)實(shí)時(shí)編譯器,它們能顯著加快速度。當(dāng)然,我們完全有理由認(rèn)為會(huì)出現(xiàn)適用于更多流行平臺(tái)的純固有編譯器,但假若沒(méi)有那些編譯器,由于速度的限制,必須有些問(wèn)題是 Java不能解決的。
(2) 和C++一樣,Java也提供了兩種類(lèi)型的注釋。
(3) 所有東西都必須置入一個(gè)類(lèi)。不存在全局函數(shù)或者全局?jǐn)?shù)據(jù)。如果想獲得與全局函數(shù)等價(jià)的功能,可考慮將static方法和static數(shù)據(jù)置入一個(gè)類(lèi)里。注意沒(méi)有象結(jié)構(gòu)、枚舉或者聯(lián)合這一類(lèi)的東西,一切只有“類(lèi)”(Class)!
(4) 所有方法都是在類(lèi)的主體定義的。所以用C++的眼光看,似乎所有函數(shù)都已嵌入,但實(shí)情并非如何(嵌入的問(wèn)題在后面講述)。
(5) 在Java中,類(lèi)定義采取幾乎和C++一樣的形式。但沒(méi)有標(biāo)志結(jié)束的分號(hào)。沒(méi)有class foo這種形式的類(lèi)聲明,只有類(lèi)定義。
class aType()
void aMethod() {}
}
(6) Java中沒(méi)有作用域范圍運(yùn)算符“::”。Java利用點(diǎn)號(hào)做所有的事情,但可以不用考慮它,因?yàn)橹荒茉谝粋€(gè)類(lèi)里定義元素。即使那些方法定義,也必須在一個(gè)類(lèi)的內(nèi)部,所以根本沒(méi)有必要指定作用域的范圍。我們注意到的一項(xiàng)差異是對(duì)static方法的調(diào)用:使用ClassName.methodName()。除此以外,package(包)的名字是用點(diǎn)號(hào)建立的,并能用import關(guān)鍵字實(shí)現(xiàn)C++的“#include”的一部分功能。例如下面這個(gè)語(yǔ)句:import java.awt.*;(#include并不直接映射成import,但在使用時(shí)有類(lèi)似的感覺(jué)。)
(7) 與C++類(lèi)似,Java含有一系列“主類(lèi)型”(Primitive type),以實(shí)現(xiàn)更有效率的訪(fǎng)問(wèn)。在Java中,這些類(lèi)型包括boolean,char,byte,short,int,long,float以及 double.所有主類(lèi)型的大小都是固有的,且與具體的機(jī)器無(wú)關(guān)(考慮到移植的問(wèn)題)。這肯定會(huì)對(duì)性能造成一定的影響,具體取決于不同的機(jī)器。對(duì)類(lèi)型的檢查和要求在Java里變得更苛刻。例如:
■條件表達(dá)式只能是boolean(布爾)類(lèi)型,不可使用整數(shù)。
■必須使用象X+Y這樣的一個(gè)表達(dá)式的結(jié)果;不能僅僅用“X+Y”來(lái)實(shí)現(xiàn)“副作用”。
(8) char(字符)類(lèi)型使用國(guó)際通用的16位Unicode字符集,所以能自動(dòng)表達(dá)大多數(shù)國(guó)家的字符。
(9) 靜態(tài)引用的字串會(huì)自動(dòng)轉(zhuǎn)換成String對(duì)象。和C及C++不同,沒(méi)有獨(dú)立的靜態(tài)字符數(shù)組字串可供使用。
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!