這篇文章主要為大家展示了“scala和java有什么區(qū)別”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“scala和java有什么區(qū)別”這篇文章吧。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供平武網(wǎng)站建設(shè)、平武做網(wǎng)站、平武網(wǎng)站設(shè)計(jì)、平武網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、平武企業(yè)網(wǎng)站模板建站服務(wù),10余年平武做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
區(qū)別:1、Java需要顯示的采用return進(jìn)行值的返回;而scala的return是可選的。2、類和方法修飾符,scala默認(rèn)是public,java默認(rèn)是protected。3、java支持接口;scala不支持接口,而采用trait。
本教程操作環(huán)境:windows7系統(tǒng)、java8版、DELL G3電腦。
1、什么是Scala
Scala是一種多范式的編程語(yǔ)言,其設(shè)計(jì)的初衷是要集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。Scala運(yùn)行于Java平臺(tái)(Java虛擬機(jī)),并兼容現(xiàn)有的Java程序。
2、為什么要學(xué)Scala
1.優(yōu)雅:這是框架設(shè)計(jì)師第一個(gè)要考慮的問(wèn)題,框架的用戶是應(yīng)用開發(fā)程序員,API是否優(yōu)雅直接影響用戶體驗(yàn)。
2.速度快:Scala語(yǔ)言表達(dá)能力強(qiáng),一行代碼抵得上Java多行,開發(fā)速度快;Scala是靜態(tài)編譯的,所以和JRuby,Groovy比起來(lái)速度會(huì)快很多。
3. 能融合到Hadoop生態(tài)圈:Hadoop現(xiàn)在是大數(shù)據(jù)事實(shí)標(biāo)準(zhǔn),Spark并不是要取代Hadoop,而是要完善Hadoop生態(tài)。JVM語(yǔ)言大部分可能會(huì)想到Java,但Java做出來(lái)的API太丑,或者想實(shí)現(xiàn)一個(gè)優(yōu)雅的API太費(fèi)勁。
1、什么是Java?
Java是一門面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
2、為什么要學(xué)Java?
Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn) [2] 。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等 。
----- | java | scala |
---|---|---|
方法返回值 | Java需要顯示的采用return進(jìn)行值的返回。 | scala的return是可選的,方法調(diào)用會(huì)自動(dòng)返回最后求值的表達(dá)式。如果scala使用了return則需要顯示指定方法的返回值 |
類和方法修飾符的默認(rèn)值 | java默認(rèn)是protected. | scala默認(rèn)是public |
默認(rèn)導(dǎo)入的類 | java默認(rèn)導(dǎo)入java.lang包 | scala默認(rèn)導(dǎo)入java.lang包、scala包、scala.Predef類。 |
接口 | java支持接口 | scala不支持接口interface,采用trait(類似于Java中的抽象類)。 |
類成員和單例對(duì)象 | java由類成員,單例對(duì)象需要自己實(shí)現(xiàn)。 | scala語(yǔ)言機(jī)制上支持單例對(duì)象和伴生對(duì)象,伴生類。伴生類和伴生對(duì)象需要在一個(gè)類文件中使用,在使用伴生對(duì)象時(shí),系統(tǒng)隱式地調(diào)用apply生成一個(gè)伴生實(shí)例的對(duì)象。 |
以上是“scala和java有什么區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!