<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇開發語言培訓專區C++語言開發 → C++與Java語言及其開發工具


      共有7236人關注過本帖樹形打印

    主題:C++與Java語言及其開發工具

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    C++與Java語言及其開發工具  發帖心情 Post By:2010-12-10 15:08:03

    一談到Java,人們馬上會想起一種類似于C和C++的、適用于分布環境的面向對象編程語言,想到這種語言的簡單、穩定、安全、與體系結構無關、可移植、可解釋、高性能、多線索和動態性等特征。這些都是Java作為一種程序設計語言的主要特征。但是,如果希望更好地理解Java語言,最好的方法是把這種語言與其同類型的語言相比較。既然Java類似于C++ ,把它同C++進行一番比較則是順理成章的事情。 

    一、Java語言 

    Java是由Sun公司的一個技術小組研制出來的。在實現Java語言的過程中,小組的技術人員很快就意識到:C++無法成為一種完全面向對象的、網絡化的開發語言。C++是通過給原先的C語言增加面向對象功能而開發出來的,因此,它存在著先天不足。這主要體現在C++種類繁多,功能大量冗余,同時又沒有任何一種C++編譯器能夠支持它的全部功能。鑒于這種情況,Sun公司的技術人員決定不擴充C++,而開發一種全新的計算機語言(Java的前身Oak)。但是,C++已經成了大多數編程人員所熟練掌握的語言,Java的設計顯然不能無視這個現實。如果Java和C++之間的差別
    過大,那么程序員們在學會這種語言的過程中無疑要花費大量的時間和精力。因此,Java保留了盡可能多的C++風格。 

    Java是完全面向對象的,這和C++不盡相同。盡管C++被認為是一種面向對象的語言,但它仍然支持過程式程序設計風格。Java則不然,它要求程序員采用完全面向對象的編程技術 ,從而消除了由于混用兩種相同的編程風格而導致的種種問題。另一方面,Java的"外觀"和 "感覺"和C++又有著很多相似之處。Java消除了C和C++中的冗余以及所有過程式的編程風格 ,并且不再支持指針數據類型,同時增加了數組的自動邊界檢查和自動內存垃圾搜集,并且把數組封裝到類結構內,從而有助于開發分布計算環境下的應用程序。 

    不過,Java之所以能夠成為一種理想的編程語言,最重要的原因還在于其"內嵌"的內存管理和多線索功能。C++語言支持程序員編寫一些非常低級的程序,從而能夠訪問機器硬件 ,并操縱實際內存地址。但這些是以犧牲可移植性為代價的,因為這時每個程序都是針對某種具體硬件環境的。而Java卻是通過提供各種邊界檢查和內存管理來確保代碼的可移植性 ,同時,還提供了內嵌的多線索功能,使類似于內存垃圾搜集一類的操作可以在后臺進行,從而保證了較高的執行效率。 

    Java語言能夠具有這些優點,主要是因為它是作為一種全新的語言而設計的。如果僅僅是擴充C++,Java將無法避免C++中遺留的大量過程式特性,其解釋器的規模將急劇增長,從而降低了系統的總體性能,代碼的可移植性和穩定性的實現即使是可能的,也將非常困難。總之,Java的這些特性,為其成為下一代編程語言奠定了良好的基礎。 

    1.Java 的面向對象特征 

    面向對象技術的關鍵在于封裝、繼承和動態聯編,下面就談談Java是如何支持這些關鍵特性的。 

    面向對象技術的基本單位是對象,對象在Java中稱為類(Class)。一個類實際上就是一段用于實現對象行為的代碼,它是提供封裝性的根本所在。也就是說,對象及其相關的所有操作均被封裝到一個類中。 

    所有的對象都有一個狀態。類也有狀態,以"實例變量"表示。實例變量由相應的類進行控制,除某些特殊情況外其它任何類都無法訪問這些變量。實例變量通過方法(method)進行訪問。方法相當于過程式語言中的函數,它是一個可多次調用的代碼段。程序員必須通過調用方法來實現對類的控制,即改變類的狀態,而且只能實現類的方法所允許的操作。這就是面向對象技術的工作原理。 

    當然,在個別情況下(對某些面向對象的語言而言),編程人員也可以直接訪問實例變量 ,但這并不是一個值得推薦的做法,因為它違背了面向對象的初衷。 

    面向對象編程的優點主要在于代碼的可重用性。當需要進行某些重復性操作時,編程人員不必反復地重寫相同的代碼段,而只需創建對象的多個實例即可。因為編程人員既不需要了解對象是如何創建的,也不用知道對象內部的工作機理,需要知道的只是對象方法的調用機制,其余的工作將由對象所屬的類進行處理。在Java中,程序員可以編寫完成各種功能的類,發布編譯之后的代碼,并且只需要告訴用戶如何控制這些類即可。 

    Java通過類來實現對象,并且提供了類的多種用法。類可以作為各對象實例的一個模板。為創建類的新實例,可以調用其構造函數,它是每當創建類的一份新的拷貝時都必須調用的一個特殊方法。當一個類的所有程序都已經結束運行,或者Java覺得不再需要調用該類時 (比方說應用程序已經結束),必須調用這個類的終結函數(finalize),以進行一些必要的清除工作。當然,Java的終結函數和C++中的析構函數會有所差別,因為Java可進行自動垃圾清除。

    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    C++與Java語言及其開發工具








    簽名
    主站蜘蛛池模板: 中文字幕人成无码免费视频| 鲁啊鲁阿鲁在线视频播放| swag剧情系列在线观看| 97热久久免费频精品99| 2一8一teesex| 色噜噜狠狠色综合中国| 精品精品国产高清a毛片| 波多野结衣中文字幕一区二区三区| 欧美性色欧美a在线播放| 日本55丰满熟妇厨房伦| 天堂资源在线中文| 国产成人精品实拍在线| 午夜激情电影在线观看| 亚洲国产精品一区二区久久| 中文无码人妻有码人妻中文字幕| a级片免费在线播放| 色婷婷精品免费视频| 波多野结衣三人蕾丝边| 日本zljzljzlj日本| 国产自无码视频在线观看| 国产AV无码专区亚洲AV漫画| 亚洲国产精品视频| 丁香花高清在线观看完整版| 高清欧美一级在线观看| 波多野结衣两部黑人mp4| 无遮挡无删动漫肉在线观看| 女警骆冰被黑人调教免费阅读小说| 国产美女一级特黄毛片| 国产亚洲欧美日韩综合综合二区| 人人澡人人爽人人| 久久国产精品最新一区| baoyu777永久免费视频| 老师让我她我爽了好久动漫| 欧美日韩在大午夜爽爽影院| 成人自拍视频网| 国产精品久久久久久| 奶交性视频欧美| 国产成人精品高清在线观看99| 免费人成无码大片在线观看| 久久激情综合网| 91色国产在线|