999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java語言與C++語言的比較

2010-01-01 00:00:00賈美娟
智能計算機與應用 2010年3期

摘要:Java語言是一門很優秀的語言。具有面向對象、與平臺無關、安全、穩定和多線程等優良特性,是目前軟件中極為健壯的編程語言。Java已成為網絡時代最重要的語言之一。與C++語言比較,Java是一種更純粹的面向對象程序設計語言。

關鍵詞:Java

面向對象

c++

編程語言

中國分類號:TP312

文獻標識碼:A

文章編號:1002-2422(2010)03-0088-03

1 Java語言的特點

(1)簡單性

Java繼承了C/C++的語法,丟棄了其中不常用又容易引起混淆的功能,特別是非面向對象的內容,取消了c語言的結構、指針、#define語句、多重繼承、全局變量和函數、GOTO語句、操作符重載和自動類型轉換等等。

(2)面向對象

Java是一種純面向對象的語言,具有封裝、繼承和多態的特性,無全局變量或函數,可以被用于面向對象這種現代軟件工程。

(3)分布式

Java包括一個支持HTTP和FTP等基于TCP/IP協議的子庫。因此,Java應用程序可憑借URL打開并訪問網絡上的對象,象本地一樣。

(4)解釋型

Java寫成的源代碼需要被編譯成高階的字節碼,其與機器架構無關。然后,這種字節碼在任何Java的運行環境中由Java虛擬機解釋執行。保證了Java與平臺無關性和可移植性。解釋執行與及時編譯技術的完美結合,提供了相當高的運算性能。

(5)多態的支持

Java是一種非常注重對象形態轉換的語言,所以在編譯時期就會做形態轉換檢查,在執行時期,Java也會做一些形態上的檢查。

(6)垃圾收集和異常處理

由于Java垃圾收集器會做自動的垃圾收集,這里的垃圾指一些不會被再使用的對象,所以程序設計者不需費心。內存會被自動地管理,Java本身提供了許多面向對象的異常(Exception)處理,所以程序在執行時期所發生的錯誤,都可以由程序自己來處理。

(7)安全性

Java設計時對系統的安全,特別是網絡安全做了周密的考慮。通過字節碼驗證、內存調用方式、資源使用權限等進行多層次的安全管理。Java被認為是在任何系統上最安全的應用程序之一。

2 Java的技術平臺

Java不僅僅是一種語言,更重要是一種區別于傳統系統,遵循“網絡就是計算機”信條的平臺技術。Java平臺將面向對象系統擴展成包括程序和數據的網絡計算機,而這個平臺的核心就是Java虛擬機。Java虛擬機的概念和實現使Java平臺成為萬能開發平臺,實現了Java程序“編寫一次,到處運行”。Java虛擬機是一種抽象化的計算機,可以在其上面執行Java的字節碼。其本身的設計原則是“小而簡單”,目的是為了盡可能在所有機器上都能安裝。這樣的精簡原則,使得其能夠在現有的各種平臺上都可以順利執行,適合各種網絡的環境。Java的技術平臺的工作原理:第一步Java用一個編譯器將源程序代碼(.java)轉換成可執行程序(.class),Java編譯器生成的是獨立于處理器結構的字節代碼。第二步字節代碼用一個Java虛擬機來執行,JVM是理想化的Java處理芯片,通常是在軟件上實現而不是在硬件上實現。

3 Java語言和c++語言的比較

c++和Java都屬于雜合語言,允許采用多種編程風格。C++是一種雜合語言,支持與c語言的向后兼容能力。由于C++是c的一個超集,所以包含的許多特性都是c語言不具備的,這些特性使C++在某些地方顯得過于復雜。但在Java中,設計者覺得這種雜合并不象在C++里那么重要。JavB保留了C++的語法,但忽略了資源引用、指針算法、操作符重載等潛在危險,是C/C++的簡化版本。所以Java雖然是從C++衍生出來,Java和C++之間仍存在一些顯著的差異,這些差異代表著技術的極大進步,證明了Java是一種比c++更優秀的程序設計語言。從面向對象(00)程序設計的角度,論述一下Java和C++的重要差異:

(1)單根結構

在c++中,可在任何地方啟動一個新的繼承樹,所以最后往往看到包含了大量樹的“一片森林”。在Java中,采用了一種單根式的分級結構,因此所有對象都是從根類統一繼承。盡管這表面上看似乎造成了限制,但由于每個對象肯定至少有一個object接口,所以往往能獲得更強大的能力,Java的強制單根結構更好地符合了面向對象(00)語言的標準。

(2)取消指針

Java和C++用new創建一個對象的時候,例如:Strings=new String(“object”):都會獲得一個對象引用。然而,C++對象引用在創建時必須進行初始化,而且不可重定義到一個不同的位置。但Java對象引用并不一定局限于創建時的位置。可根據情況任意定義,這便消除了對指針的部分需求。指針通常被看作在基本變量數組中四處移動的一種有效手段。在c++里,必須用大量采用指針指向任意一個內存位置,這同時會使其變得不安全,也是Java不提供這一支持的原因。在Java里,沒有象C++那樣的指針,Java允許其以更安全的形式達到相同的目標。Java沒有全局函數,只有類,因而可以用傳遞的方式實現對象的引用。

(3)自動垃圾收集機制

Java中沒有C++“破壞器”,變量不存在“作用域”的問題。Java有個finalize()方法是每一個類的成員,在某種程度上類似于c++的“破壞器”。但finalize()是由垃圾收集器調用的,而且只負責釋放“資源”,如打開的文件、套接字、端口、URL等。如需在一個特定的地點做某件事情,必須創建一個特殊的方法,并調用它,不能依賴finalize()方法。由Java不支持破壞器的概念,針對類內的基礎類以及成員對象,Java采用垃圾收集器自動清除,所有對象都會被當作“垃圾”收集掉。自動垃圾收集意味著在Java中出現內存漏洞的情況會少得多,但也并非完全不可能。若調用一個用于分配存儲空間的固有方法,垃圾收集器就不能對其進行跟蹤監視。而在另一方面,C++中的所有對象必須用finalize()方法破壞,然而,內存漏洞和資源漏洞多是由于編寫不當的finalize()造成的,或是由于在已分配的一個塊尾釋放一種資源造成的。Java垃圾收集器是在C++基礎上的一種極大進步,使許多編程問題得以解決。

(4)異常控制機制

Java的異常規范比c++的出色得多。Java中的所有異常都是從基礎類Throwable里繼承而來的,所以可確保得到的是一個通用接口。丟棄一個錯誤的異常后,不是象C++那樣在運行期間調用一個函數,Java異常規范是在編譯期間檢查并執行的。被取代的方法必須遵守那一方法的基礎類的異常規范,可丟棄指定的異常或者從那些異常衍生出來的其他異常。這樣一來,最終得到的是更為“健壯”的異常控制代碼。

(5)單一繼承

Java中的繼承具有與c++相同的效果,但采用的語法不同。Java用extends關鍵字標志從一個基礎類的繼承,并用super關鍵字指出準備在基礎類中調用的方法,與當前所在的方法具有相同的名字。然而,Java中的super關鍵字只允許訪問父類的方法,亦即分級結構的上一級。通過在c++中設定基礎類的作用域,可訪問位于分級結構較深處的方法,亦可用super關鍵字調用基礎類構建器,所有類最終都會從Object里自動繼承。和C++不同,Java不存在明確的構建器初始化列表,但Java編譯器會強迫在構建器主體的開頭進行全部的基礎類初始化,而且不允許在主體的后面部分進行這一工作。其語法如下:

public class A extends B{public A(String msg){super(msg);∥調用基礎類構建器}pubic C(int i){ super.C(i);∥調用基本方法}}

Java提供了一個interface關鍵字,其作用是創建抽象基礎類的一個等價物。在其中填充抽象方法,且沒有數據成員。這樣一來,對于僅僅設計成一個接口的東西,以及對于用extends關鍵字在現有功能基礎上的擴展,兩者之間便產生了一個明顯的差異。不值得用abstract關鍵字產生一種類似的效果,因為不能創建屬于那個類的一個對象。一個抽象類可包含抽象方法,并不要求在其里面包含什么東西,但其也能包含用于具體實現的代碼。因此,其被限制成一個單一的繼承。通過與接口聯合使用,這一方案避免了對類似于c++虛擬基礎類那樣的一些機制的需要。為創建一個實例的一個interface(接口),需使implements關鍵字。其語法類似于繼承的語法,如下:

public interface Face

public void Output():}

public class C extends B implements Face{public void Output()fSystem,out,println(“an object”),}}

4結束語

盡管Java以c++為基礎,但Java是一種更純粹的面向對象程序設計語言,面向對象編程(OOP)具有多方面的吸引力。Java語言不僅可以用來開發大型的應用程序。而且特別適合于Internet的應用開發。

主站蜘蛛池模板: 最新无码专区超级碰碰碰| 美女毛片在线| 亚洲系列中文字幕一区二区| 亚洲成人高清无码| 另类综合视频| 精品国产中文一级毛片在线看| 91精品国产91久久久久久三级| 91麻豆精品视频| 国产精品分类视频分类一区| 亚洲综合日韩精品| 久久国产精品嫖妓| 日本亚洲最大的色成网站www| 超碰精品无码一区二区| 99久久婷婷国产综合精| 爆操波多野结衣| 色综合久久无码网| 国产午夜福利在线小视频| 久久精品中文字幕少妇| 美女黄网十八禁免费看| jizz在线免费播放| 国产成在线观看免费视频| 国产在线98福利播放视频免费| 国产免费黄| 亚洲欧州色色免费AV| 精品一区二区三区视频免费观看| 高清无码不卡视频| 天天综合色网| 国产玖玖视频| 久久精品只有这里有| 国产精品手机在线播放| 亚洲成A人V欧美综合| 亚洲色图狠狠干| 中文天堂在线视频| 自拍欧美亚洲| 99re在线视频观看| 日韩在线2020专区| 中文字幕在线观看日本| 亚洲自拍另类| 国产美女自慰在线观看| 成人日韩欧美| 国产不卡在线看| www.亚洲色图.com| 一级爆乳无码av| 美女国内精品自产拍在线播放| 国产白浆在线观看| 亚州AV秘 一区二区三区| 国产无人区一区二区三区| 亚洲欧美自拍视频| 新SSS无码手机在线观看| 91精品国产麻豆国产自产在线| 中日韩欧亚无码视频| 国产麻豆精品在线观看| 亚洲人精品亚洲人成在线| 日韩成人高清无码| 欧美日韩成人在线观看| 又大又硬又爽免费视频| 亚洲第一视频免费在线| 丰满少妇αⅴ无码区| 国产理论最新国产精品视频| 一个色综合久久| 亚洲精品视频免费看| 无套av在线| 91久久夜色精品国产网站| 亚洲一级毛片在线观| 欧美视频在线第一页| 欧美三级不卡在线观看视频| 五月婷婷综合色| 日本道综合一本久久久88| 久久综合伊人 六十路| 亚洲视频欧美不卡| 亚洲专区一区二区在线观看| 伊人中文网| 91 九色视频丝袜| 欧美精品xx| 国产97公开成人免费视频| 男女男免费视频网站国产| 国产91小视频| 欧美一级在线播放| 免费观看无遮挡www的小视频| 2020最新国产精品视频| 日本久久免费| 国产精品一区在线观看你懂的|