java 好处_Java的优点
Java與C語(yǔ)言的區(qū)別:
C語(yǔ)言和JAVA其實(shí)是很相識(shí)的,最直接的區(qū)別就在與,一個(gè)是全面向過(guò)程,一個(gè)是面向?qū)ο蟆6襃AVA是可以跨平臺(tái)的。而C語(yǔ)言不能,但能夠直接操作硬件,并且生成機(jī)器碼的效率高。C語(yǔ)言多了一個(gè),指針也是C語(yǔ)言的精髓,想要學(xué)好C語(yǔ)言,指針就必須學(xué)好。JAVA是沒(méi)有指針的。
在語(yǔ)法中:JAVA是從可以算是從C++發(fā)展而來(lái)的,因此Java與C語(yǔ)言的語(yǔ)法比較類似的。
在內(nèi)存的管理中:
C語(yǔ)言在使用完一塊內(nèi)存時(shí),要手動(dòng)把內(nèi)存釋放掉,如果不釋放的話,運(yùn)行久了,程序很容易就會(huì)崩潰掉的。由于需要顯式的歸還內(nèi)存,因此當(dāng)一個(gè)函數(shù)需要將一塊內(nèi)存返回給調(diào)用者的時(shí)候,問(wèn)題就比較復(fù)雜了。所以我們所以時(shí)要注意:(1) 在調(diào)用者中先分配好內(nèi)存,作為參數(shù)傳入到被調(diào)用的函數(shù)中(2) 在被調(diào)用的函數(shù)中分配,使用完后在調(diào)用者中釋放(3) 在被調(diào)用函數(shù)中使用static變量,可以將該變量返回。
而JAVA基本不用考慮內(nèi)存的問(wèn)題,如果想用一個(gè)對(duì)象,new一個(gè)就可以,這個(gè)過(guò)程的背后則是JRE為對(duì)象分類的一定內(nèi)存,當(dāng)JRE發(fā)現(xiàn)你不再使用這個(gè)對(duì)象的時(shí)候,他就會(huì)自動(dòng)回收內(nèi)存,也就是說(shuō)你只管借東西,不用管歸還,因?yàn)榕c有人當(dāng)你的跟班,在你不使用的時(shí)候就把東西歸還了,不過(guò)這個(gè)過(guò)程還是有的,只不過(guò)是JRE作的而已。
語(yǔ)法中使用的基本類型:
C語(yǔ)言有著很多的基本類型如:(boolean, char, byte, short, int, long, float, double,struct, union, enum)還有數(shù)組,指針等等。
在JAVA中:只有(boolean, char, byte, short, int, long, float, double)這8種基本類型和引用的。
在繼承中:兩種語(yǔ)言都支持方法重載的,C語(yǔ)言是多線繼承,JAVA是單繼承的。動(dòng)態(tài)、靜態(tài)綁定:
在C語(yǔ)言中,為了允許運(yùn)行時(shí)動(dòng)態(tài)決定哪個(gè)函數(shù)被調(diào)用,一個(gè)函數(shù)必須用virtual修飾。virtual關(guān)鍵字被自動(dòng)繼承,用以支持多態(tài);凡是沒(méi)有用virtual修飾的成員函數(shù)(包括static)都是靜態(tài)綁定的,即在編譯時(shí)決定調(diào)用哪個(gè)版本。而在Java中,除了static、final、private是靜態(tài)綁定以外,所有方法一律按動(dòng)態(tài)綁定處理。
初始值:在C語(yǔ)言中,是可以不初始化使用的,而在JAVA中,是必須初始化值的。
抽象方法或抽象類:C語(yǔ)言的對(duì)等語(yǔ)法是“純虛函數(shù)”和“抽象類”,Java使用abstract關(guān)鍵字修飾抽象方法或抽象類,final類不能被繼承
都使用抽象類作為繼承層次中的基類,提供一般概念,由子類實(shí)現(xiàn)其抽象方法,且抽象類都不能被直接實(shí)例化為對(duì)象。
super:JAVA super關(guān)鍵字,指代父類對(duì)象,通常被用于調(diào)用父類的構(gòu)造方法或一般方法,C語(yǔ)言沒(méi)有super關(guān)鍵字。
this:兩者都有,都是只當(dāng)前的對(duì)象
package:C語(yǔ)言沒(méi)有,Java有package的概念,可以將類組織起來(lái),便于打包和部署,也有利于類的安全。
在語(yǔ)法中還有很多的差異,就不一一列出來(lái)了,可以看出,JAVA比C語(yǔ)言要精簡(jiǎn)很多,在生活上的實(shí)用性也很強(qiáng),C語(yǔ)言卻是哎操作內(nèi)存上比較強(qiáng)。也就是說(shuō)JAVA比較適合在上層工作,只要我們懂得接口就好,而C語(yǔ)言卻是在網(wǎng)絡(luò)下層工作的,要對(duì)協(xié)議比較了解。總之,各有各的好處,各有各的領(lǐng)域。
總結(jié)
以上是生活随笔為你收集整理的java 好处_Java的优点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 事件分发线程_Java事件调度
- 下一篇: mac php7 mysql.so_ma