Java和Scala的区别

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可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

java和scala的对比
Java和Scala的区别_第1张图片
1、对字符串的支持 scala采用三个双引号“”“支持换行字符串,Java需要采用“+”进行字符串的连接。

2、方法返回值 scala的return是可选的,方法调用会自动返回最后求值的表达式。如果scala使用了return则需要显示指定方法的返回值 Java需要显示的采用return进行值的返回。

3、类和方法修饰符的默认值 scala默认是public,java默认是protected.

4、默认导入的类 scala默认导入java.lang包、scala包、scala.Predef类。 java默认导入java.lang包

5、接口 scala不支持接口interface,采用trait(类似于Java中的抽象类)。 java支持接口

6、类成员和单例对象 scala语言机制上支持单例对象和伴生对象,伴生类。伴生类和伴生对象需要在一个类文件中使用,在使用伴生对象时,系统隐式地调用apply生成一个伴生实例的对象。 java由类成员,单例对象需要自己实现。


 

原文转自:Java和Scala的区别?_陆山右的博客-CSDN博客_scala和java的区别icon-default.png?t=M276https://blog.csdn.net/weixin_41919236/article/details/84481333?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164958292416780271952846%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164958292416780271952846&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-84481333.142^v7^article_score_rank,157^v4^control&utm_term=java%E5%92%8Cscala%E7%9A%84%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187

你可能感兴趣的:(java,scala)