區別:1、Java需要顯示的採用return進行值的回傳;而scala的return是可選的。 2、類別和方法修飾符,scala預設是public,java預設是protected。 3.java支援接口;scala不支援接口,而採用trait。
本教學操作環境:windows7系統、java8版、DELL G3電腦。
1、什麼是Scala
Scala是一種多範式的程式語言,其設計的初衷是要整合物件導向程式設計和函數式程式設計的各種特性。 Scala運行於Java平台(Java虛擬機器),並與現有的Java程式相容。
2、為什麼要學Scala
1.優雅:這是框架設計師第一個要考慮的問題,框架的使用者是應用開發程式設計師, API是否優雅直接影響使用者體驗。
2.速度快:Scala語言表達能力強,一行程式碼抵得上Java多行,開發速度快;Scala是靜態編譯的,所以和JRuby,Groovy比起來速度會快很多。
3. 能整合到Hadoop生態圈:Hadoop現在是大數據事實標準,Spark不是要取代Hadoop,而是要完善Hadoop生態。 JVM語言大部分可能會想到Java,但Java做出來的API太醜,或是想實現一個優雅的API太費力。
1、什麼是Java?
Java是一門物件導向程式語言,不僅吸收了C 語言的各種優點,也摒棄了C 裡難以理解的多重繼承、指標等概念,因此Java語言具有強大且簡單易用兩個特徵。 Java語言作為靜態物件導向程式語言的代表,極佳地實現了物件導向理論,允許程式設計師以優雅的思維方式進行複雜的程式設計。
2、為什麼要學Java?
Java具有簡單性、物件導向、分散式、健全性、安全性、平台獨立與可移植性、多執行緒、動態性等特點[2] 。 Java可以編寫桌面應用程式、網路應用程式、分散式系統和嵌入式系統應用程式等 。
#----- | java | #scala |
---|---|---|
方法傳回值 | Java需要顯示的採用return進行值的回傳。 | scala的return是可選的,方法呼叫會自動傳回最後求值的表達式。如果scala使用了return則需要顯示指定方法的回傳值 |
類別和方法修飾符的預設值 | java預設是protected. | scala預設是public |
預設導入的類別 | java預設導入java.lang套件 | scala預設導入java.lang套件、scala套件、 scala.Predef類別。 |
介面 | java支援介面 | scala不支援介面interface,採用trait(類似Java中的抽象類別)。 |
類別成員和單例物件 | java由類別成員,單例物件需要自己實作。 | scala語言機制上支援單例對象和伴生對象,伴生類別。伴生類別和伴生物件需要在一個類別檔案中使用,在使用伴生物件時,系統隱含地呼叫apply產生一個伴生實例的物件。 |
以上是scala和java的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!