表面看起來確實(shí)很相似,不過個(gè)人感覺相差還是挺遠(yuǎn)的。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、羅山ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的羅山網(wǎng)站制作公司
本質(zhì)來說應(yīng)該說是對(duì)面向?qū)ο笾С值耐晟贫劝?。具體說來的話,interface、異常體系,還有繼承體系這些東西都不大一樣。相比C++那亂死的繼承關(guān)系,JAVA的繼承體系可要優(yōu)美多了~
就好比最簡(jiǎn)單的子類覆蓋父類行為這一例子,C++里面居然還要用虛函數(shù)才能實(shí)現(xiàn)~
總是來是差別還是很大的。
java和c++就有著比較密切的關(guān)系。很多人認(rèn)為java就是簡(jiǎn)化版的帶虛擬機(jī)的c++。這樣我們?cè)趯W(xué)習(xí)java后再學(xué)習(xí)c++可以讓我們了解到j(luò)ava相對(duì)于c++而言做了哪些簡(jiǎn)化。特別是在面向?qū)ο筇匦苑矫?。(c++可以實(shí)現(xiàn)部分函數(shù)語言的特征,特別是它有函數(shù)指針,可以把函數(shù)當(dāng)做一個(gè)對(duì)象傳遞;java這樣做的話需要寫一個(gè)“函數(shù)對(duì)象”,感覺就不是很直接了。但是意圖應(yīng)該是一致的。抽象性也差不多,同樣的功能java可以使用接口來實(shí)現(xiàn)。)我們注意到j(luò)ava和c++的過程控制語句是比較相似的。
另一個(gè)角度,我們要知道,c++的復(fù)雜性是必須的。和c++在工業(yè)領(lǐng)域中所處的位置有關(guān)系。以及這個(gè)語言所代表的特殊的層次和功能。那么java在作出了簡(jiǎn)化之后,相應(yīng)的失去了很多的靈活性。但是增加了簡(jiǎn)單性,便利性。在設(shè)計(jì)上也比較純粹一些。但是語言風(fēng)格比較固定,類庫的風(fēng)格也比較一致。但是這兩種語言都是成熟的語言,在工業(yè)領(lǐng)域運(yùn)用多年。
對(duì)于java程序員來說,學(xué)習(xí)C++不是一件容易的事情。但是有助于程序員對(duì)程序語言本身的很多機(jī)制的理解。特別是面向?qū)ο蠓矫?。C++比較復(fù)雜,而且健壯性弱,需要程序員格外細(xì)心。從這個(gè)意義上來看,C++如同林黛玉,美麗,脆弱,難以了解,但是卻很有才。java如同薛寶釵,美麗大方,會(huì)照顧人,懂事,貼心,但是不夠靈活。
再換一個(gè)角度,c++語言的類庫很豐富,而且跨平臺(tái)性也比較好。運(yùn)行速度快。靈活。所以我們java程序員,學(xué)習(xí)c++可以說是必須的。
另外,C++現(xiàn)在并沒有退出工業(yè)領(lǐng)域,現(xiàn)在還有相當(dāng)豐富的應(yīng)用,業(yè)務(wù)在使用c++。推薦大家可以看一下QT。游戲領(lǐng)域的可以看一下irrlicht。這些都可以作為學(xué)習(xí)的起點(diǎn),你就可以做出比較有成就感的東西,對(duì)于學(xué)習(xí)也是一種鼓勵(lì)。特別是QT。
最后,java在UI上一直飽受詬病。特別是swing,復(fù)雜,速度慢。對(duì)javaFX期待中。另外java虛擬機(jī)上有很多其他語言建議大家可以學(xué)習(xí)一下scala。
最最后,很多人比較java和c++哪個(gè)好。我覺得是沒有什么大的意義,無論哪個(gè)好,哪個(gè)強(qiáng),我們?nèi)绻紝W(xué)會(huì)的話,豈不是更好?豈不是對(duì)我們更有利?
容易!我是先學(xué)java,然后再學(xué)C#的,我感覺java和C#差不多,語法也差不多!C#就多了一個(gè)命名空間!C#可以多繼承接口,但是類不行,和java差不多。java只能單繼承類,多繼承接口。而他們都是面向?qū)ο缶幊?,既然你學(xué)了C#,學(xué)java就容易了!
祝你成功!