日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

JAVA是一門面向?qū)ο蟮木幊陶Z言,在C++的基礎(chǔ)上發(fā)展起來,吸收了C++的各種優(yōu)點(diǎn),又摒棄了C++中很多難以理解的知識點(diǎn)。那么Java與C++的區(qū)別具體有哪些呢?

Java具有簡單性、面向?qū)ο蟆⒎植际健⒔研浴踩浴⑵脚_獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

C++是C語言的繼承,它既可以進(jìn)行C語言的過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。C++擅長面向?qū)ο蟪绦蛟O(shè)計(jì)的同時(shí),還可以進(jìn)行基于過程的程序設(shè)計(jì),因而C++就適應(yīng)的問題規(guī)模而論,大小由之。

1.Java與C++在面向?qū)ο蟾拍钌系膮^(qū)別對于C++而言,談面向?qū)ο蟮臅r(shí)候,是面向?qū)ο笤O(shè)計(jì)

對于Java而言,談面向?qū)ο蟮臅r(shí)候,是面向?qū)ο笏枷?/p>

不要小看這兩者之間的區(qū)別,C++說到底還是C語言的衍生版,通看《C++編程思想》其實(shí),對于類設(shè)計(jì),繼承,重載這些并沒有看作面向?qū)ο筇匦詠砼袛啵皇翘峁┝艘环N代碼服用的表現(xiàn)形式以及“晚捆綁”在C++編譯器中相對于C語言編譯器的區(qū)別和有事。但是在《Java編程思想》當(dāng)中,則是把類,繼承,重載,多態(tài)等作為很重要的面向?qū)ο笏枷雭砜创摹?/p>

舉一個(gè)例子,static修飾符

在C++當(dāng)中,存在類內(nèi)靜態(tài)成員變量的問題和Java其實(shí)是一致的,但是C++仍抱有C語言特性,static生命仍具有全局概念。Java當(dāng)中已經(jīng)不存在所謂的全局概念了,更準(zhǔn)確的說是通過類邊界,將全局概念隱藏了。作用雖然一致,但是Java在于static提供類共享的時(shí)候,可能并沒有C++來做的判斷合適。

2.Java與C++在代碼使用上的區(qū)別這個(gè)也很多人忽略,語言只是工具,只要按照算法做就是了,但是工具可是各有各的特點(diǎn),往往也被忽略掉了。

舉一個(gè)例子:空指針判斷,數(shù)組越界,異常,斷言

可能上面說的,在于C++而言要完全控制的,如果不控制就會出大問題,直接對應(yīng)到內(nèi)存的異常。可是Java而言,由于是純面向?qū)ο笳Z言,加上完整的基于虛擬機(jī)的異常控制,使得數(shù)組越界而言可能并不是什么大問題,throws一個(gè)Exception和內(nèi)存異常比較起來反而小的多,可見Java對于內(nèi)存的隱藏優(yōu)勢。

3.Java與C++在代碼組織上的區(qū)別看C++代碼,給我一個(gè)很深刻的印象就是,我能很準(zhǔn)確的看懂他的組織形式和功能。然而Java我需要充分理解類之間的層次結(jié)構(gòu)和邊界問題,往往搭建庫的時(shí)候映射到上層,很難通透的看出整個(gè)的形式和功能,只能基于類的調(diào)用來梳理。

由此也可以看出C++還是遺傳了C語言的特性,是一個(gè)基于文檔目錄結(jié)構(gòu)來做代碼組織的。雖然有了面向?qū)ο筇匦裕蔷兔嫦驅(qū)ο笾皇墙oC++一種代碼服用以及設(shè)計(jì)時(shí)邏輯區(qū)分。然而對于Java而言,面向?qū)ο罂墒秦瀼厥冀K的。

舉一個(gè)例子:C++頭文件的引入

很多人不太習(xí)慣為什么我寫一個(gè)類,還要引入頭文件,和Java類似寫到一個(gè)文件里面不行嗎?!其實(shí)C++,這是嚴(yán)格遵守了先聲明后使用的邏輯。所以對于頭文件引入的混亂的管理可以通過這個(gè)出發(fā)點(diǎn),達(dá)成一定的一致的。

4.Java與C++在庫函數(shù)方面的區(qū)別初看之下,覺得C++的庫函數(shù)能做的,Java也都做了。但是其實(shí)還是有一些細(xì)微的區(qū)分的。

舉一個(gè)例子:sort()函數(shù)

C++當(dāng)中對于vector的排序,是通過sort來進(jìn)行的。Java當(dāng)中呢,則是要復(fù)寫需要比較類的Compare方法的。

當(dāng)然Java與C++還有其他區(qū)別,這里只是簡單列舉了4方面,主要是想告訴大家,雖然Java和C++很相似,但兩者之間還是存在很多區(qū)別的。對Java的理解要集中到抽象的定義,把側(cè)重點(diǎn)應(yīng)該放到類組織方式,類職責(zé)的管理層級等設(shè)計(jì)問題上來,對C++的理解要充分理解C語言,除了上面提到的,也更應(yīng)該注重內(nèi)存問題的思考和判斷上。

分享到:
標(biāo)簽:Java
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定