區(qū)別:1、Java需要顯示的采用return進行值的返回;而scala的return是可選的。2、類和方法修飾符,scala默認是public,java默認是protected。3、java支持接口;scala不支持接口,而采用trait。
本教程操作環(huán)境:windows7系統(tǒng)、java8版、DELL G3電腦。
Scala簡介
1、什么是Scala
Scala是一種多范式的編程語言,其設(shè)計的初衷是要集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。Scala運行于Java平臺(Java虛擬機),并兼容現(xiàn)有的Java程序。
2、為什么要學(xué)Scala
1.優(yōu)雅:這是框架設(shè)計師第一個要考慮的問題,框架的用戶是應(yīng)用開發(fā)程序員,API是否優(yōu)雅直接影響用戶體驗。
2.速度快:Scala語言表達能力強,一行代碼抵得上Java多行,開發(fā)速度快;Scala是靜態(tài)編譯的,所以和JRuby,Groovy比起來速度會快很多。
3. 能融合到Hadoop生態(tài)圈:Hadoop現(xiàn)在是大數(shù)據(jù)事實標準,Spark并不是要取代Hadoop,而是要完善Hadoop生態(tài)。JVM語言大部分可能會想到Java,但Java做出來的API太丑,或者想實現(xiàn)一個優(yōu)雅的API太費勁。
Java簡介
1、什么是Java?
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復(fù)雜的編程。
2、為什么要學(xué)Java?
Java具有簡單性、面向?qū)ο?、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點 [2] 。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等 。
java和scala的表格對比
—– | java | scala |
---|---|---|
方法返回值 | Java需要顯示的采用return進行值的返回。 | scala的return是可選的,方法調(diào)用會自動返回最后求值的表達式。如果scala使用了return則需要顯示指定方法的返回值 |
類和方法修飾符的默認值 | java默認是protected. | scala默認是public |
默認導(dǎo)入的類 | java默認導(dǎo)入java.lang包 | scala默認導(dǎo)入java.lang包、scala包、scala.Predef類。 |
接口 | java支持接口 | scala不支持接口interface,采用trait(類似于Java中的抽象類)。 |
類成員和單例對象 | java由類成員,單例對象需要自己實現(xiàn)。 | scala語言機制上支持單例對象和伴生對象,伴生類。伴生類和伴生對象需要在一個類文件中使用,在使用伴生對象時,系統(tǒng)隱式地調(diào)用apply生成一個伴生實例的對象。 |
相關(guān)視頻教程推薦:Java視頻教程