最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++編程筆記:一文帶你讀懂C++面向?qū)ο蠛蚃ava面向?qū)ο蟮膮^(qū)別

2020-10-23 22:29 作者:C語言編程__Plus  | 我要投稿

C++與Java都是面向?qū)ο蟮木幊陶Z言,同樣是面向?qū)γ婢幊?,那他們的不同之處今天我們就來看一看吧?/strong>


引用:

java和c++都有引用的概念,但兩者是完全不同的東西,c++的引用是變量的一個(gè)別名,引用一旦綁定就不能重新引用其他變量,c++引用也不能為null。java引用更像c++的指針,對引用賦值是重新綁定引用的對象(在c++里面是改變對象的值),引用可以為null(導(dǎo)致了煩人的NPE問題,萬惡之源)?

類型系統(tǒng):?

java區(qū)分值類型與引用類型,用戶自定義類型都是引用類型,值類型和引用類型在很多地方不能混用(如泛型參數(shù)),c++沒有值類型和引用類型的概念,類似的概念是普通類和它的指針類型。?

java有根基類Object,c++沒有根基類。?


訪問控制:?

都有public,protected,private三級訪問控制?

此外,java還有包訪問控制,c++有友元?

繼承:?

c++分public繼承,protected繼承(意義不明)和private繼承(基本和組合沒啥區(qū)別),java只有public繼承。?

c++只能覆蓋基類中顯式定義的虛函數(shù),java中方法默認(rèn)是虛的,除非顯式標(biāo)明final?

c++支持多重繼承,java只支持單繼承,但支持實(shí)現(xiàn)多個(gè)接口(c++沒有語法層面上的接口)?


構(gòu)造與析構(gòu):?

對象構(gòu)造大致相同,但是c++在構(gòu)造函數(shù)中調(diào)用虛函數(shù)無法多態(tài)(因?yàn)閷ο蟮淖宇惒糠诌€沒構(gòu)造)?

c++可以定義析構(gòu)函數(shù),java沒有析構(gòu)函數(shù)(java提供一個(gè)終結(jié)方法,但它和析構(gòu)函數(shù)不是等價(jià)的)?

對象生命周期控制:?

c++主要靠手動申請,釋放內(nèi)存或者借助析構(gòu)函數(shù)(RAII技術(shù)),java依靠gc?

異常處理:?

c++沒有也不需要finally塊,釋放資源依靠析構(gòu)函數(shù)就行了。?


泛型:?

c++模板采用代碼生成技術(shù),運(yùn)行時(shí)能夠保留類型信息,java采用類型擦除,類型信息在運(yùn)行時(shí)就沒了(所以其實(shí)只是進(jìn)行安全的自動類型轉(zhuǎn)換而已……)。c++模板參數(shù)可以是基本類型,用戶自定義類型和整型常量,java只能是引用類型。c++還可以對模板進(jìn)行特化,java沒有這個(gè)功能。?

其他:?

c++有運(yùn)算符重載,java沒有(除了String類重載了+)

通過這篇文章,大家對于C++與Java的面向?qū)ο蟮牟煌懒硕嗌倌兀坑洸蛔〉男』锇榭梢允詹匾幌?,希望對大家有幫助哦~

另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

學(xué)習(xí)C/C++編程知識,提升C/C++編程能力,歡迎關(guān)注UP一起來成長!
另外,UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會對你有幫助的~

編程學(xué)習(xí)書籍分享:


編程學(xué)習(xí)視頻分享:



C/C++編程筆記:一文帶你讀懂C++面向?qū)ο蠛蚃ava面向?qū)ο蟮膮^(qū)別的評論 (共 條)

分享到微博請遵守國家法律
班戈县| 永和县| 民权县| 阆中市| 安泽县| 临颍县| 建水县| 江华| 铁力市| 青龙| 柳林县| 仁寿县| 安新县| 嫩江县| 宁津县| 临澧县| 武胜县| 武功县| 临猗县| 交口县| 梁山县| 水富县| 阿图什市| 游戏| 台南县| 离岛区| 彰化县| 卓尼县| 华阴市| 延边| 迁安市| 巴里| 甘德县| 库尔勒市| 阳原县| 西乌| 陵川县| 康乐县| 都兰县| 湖北省| 招远市|