<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > JAVA和C++區別詳解

JAVA和C++區別詳解

作者: 時(shí)間:2011-06-10 來(lái)源:網(wǎng)絡(luò ) 收藏

  java 程序的總體布局是由很多類(lèi)組成的,每個(gè)類(lèi)都處于一個(gè)文件中。如果所有的類(lèi)都位于同一個(gè)目錄(文件夾)中,Java需要使用某個(gè)類(lèi)(文件)的時(shí)候,就會(huì )自動(dòng) 地找到它。通過(guò)使用import語(yǔ)句,也可以將不同目錄中的類(lèi)(文件)組合起來(lái)。細節請參見(jiàn)《Java程序設計與問(wèn)題解決:基礎篇》的5.7節(包)。

  在Java中,一個(gè)類(lèi)必須位于一個(gè)與類(lèi)同名、但具有后綴.java的文件中。例如,一個(gè)名為MyClass的類(lèi)必須位于一個(gè)名為MyClass.java的文件中。類(lèi)的編譯版本會(huì )被自動(dòng)地放在一個(gè)名為MyClass.class的文件中。

  類(lèi)和方法(函數)定義

  Java對方法的定義及聲明不加(或者,如某些作者所述,Java對方法的原型和方法的定義不加)。 所有的方法(函數)都只有定義而沒(méi)有前向引用。沒(méi)有獨立于方法定義的“頭部”或“特征”或“原型”。所有的方法必須都是在某個(gè)類(lèi)中定義的。所有的類(lèi)定義都 完全是在一個(gè)文件中完成的,沒(méi)有任何類(lèi)型的前向引用或接口文件。尤其是,所有的方法定義全都是在它們的類(lèi)定義中給出的。細節請參見(jiàn)《Java程序設計與問(wèn) 題解決:基礎篇》的第4章(定義類(lèi)和方法)。

  Java中沒(méi)有指針

  Java中沒(méi)有指針類(lèi)型。但Java是有指針的。實(shí)際上,所有的對象都是以指針的方式命名的。不過(guò),指針被稱(chēng)為 引(reference),會(huì )被自動(dòng)處理。例如,一個(gè)String類(lèi)型的變量中會(huì )包含對一個(gè)字符串的引用(指針),但沒(méi)有String指針類(lèi)型。細節請參 見(jiàn)《Java程序設計與問(wèn)題解決:基礎篇》的4.3節。

  方法(函數)參數

  嚴格來(lái)講,Java中只有一種參數傳遞機制,即,傳值。但是,實(shí)際上,通常認為Java有兩種類(lèi)型的參數傳遞機 制:一種用于基本類(lèi)型(比如int、double和char),另一種用于類(lèi)類(lèi)型。對基本類(lèi)型,唯一的參數傳遞機制就是傳值。對類(lèi)類(lèi)型,參數傳遞機制也被 稱(chēng)為傳值,但傳遞的是類(lèi)對象的引用(指針)。這就允許方法(函數)修改對象中的數據,因此,有些人認為這種機制應該被稱(chēng)為傳引用機制。這并不符合大多數通 常的傳引用(call-by-reference)定義,但在實(shí)現一些簡(jiǎn)單任務(wù)時(shí),它的表現與傳引用非常相似。細節請參見(jiàn)《Java程序設計與問(wèn)題解決: 基礎篇》的第4章和第5章。數組

  Java數組與C或C++數組很類(lèi)似,但它們還是有些的,Java數組的表現更好一些。Java中的數組“知道”它的范 圍。如果a是一個(gè)數組,那么實(shí)例變量a.length中就包含了一個(gè)與數組可以承載的元素個(gè)數相等的整數??梢圆榭碕ava數組索引是否越界,如果代碼試 圖使用一個(gè)越界的數組索引(下標),就會(huì )拋出一個(gè)異常。細節請參見(jiàn)《Java程序設計與問(wèn)題解決:基礎篇》的第6章。

  垃圾回收

  Java中的內存管理和垃圾回收是自動(dòng)進(jìn)行的。Java使用了new運算符來(lái)創(chuàng )建一個(gè)類(lèi)類(lèi)型的新對象(因此這個(gè)過(guò)程就是一種內存分配形式),但Java中沒(méi)有其他的內存分配形式了。Java中沒(méi)有程序員可以用來(lái)進(jìn)行垃圾回收的機制。垃圾回收是自動(dòng)進(jìn)行的。

  其他的比較

  Java和C++中的注釋在本質(zhì)上是完全一樣的。

  Java中沒(méi)有全局變量。

  Java中沒(méi)有枚舉類(lèi)型。

  Java中沒(méi)有typedef。

  Java中沒(méi)有結構或聯(lián)合。

  可以像在C++中那樣,在Java中對方法(函數)名進(jìn)行重載,但在Java中不能對運算符進(jìn)行重載。

  Java中沒(méi)有多重繼承,但它確實(shí)通過(guò)接口恢復了多重繼承的很多功能。更多關(guān)于接口的細節請參見(jiàn)《Java程序設計與問(wèn)題解決:基礎篇》的第7章。

  Java中沒(méi)有模板,但它確實(shí)通過(guò)泛型恢復了模板的很多功能。

  在Java中,類(lèi)可以有一個(gè)與類(lèi)具有相同類(lèi)型參數的構造器,但這個(gè)構造器沒(méi)什么特殊的地位,不同于C++中的副本構造函數。

c++相關(guān)文章:c++教程



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 詳解 區別 JAVA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>