大数据学习:Scala 语言特点,Scala与Java的区别? 您所在的位置:网站首页 英汉语言的不同点和特点 大数据学习:Scala 语言特点,Scala与Java的区别?

大数据学习:Scala 语言特点,Scala与Java的区别?

2024-07-14 23:50| 来源: 网络整理| 查看: 265

Scala 是一种有趣的语言。它一方面吸收继承了多种语言中的优秀特性,一方面又没有抛弃Java这个强大的平台,它运行在Java虚拟机 (Java Virtual Machine)之上,轻松实现和丰富的Java类库互联互通。它既支持面向对象的编程方式,又支持函数式编程。它写出的程序像动态语言一样简洁,但事实上它确是严格意义上的静态语言。 Scala六大特征: (1)java和scala可以混编。 (2)类型推测(自动推测类型),在可由上下文推断的情况下,可以省略类型。 (3)支持并发和分布式Actor。 (4)Traits特质特性(类似java中interface和abstract结合)。 (5)模式匹配(类似javaswitch)。 (6)高阶函数:函数的参数是函数,或者函数的返回类型是函数,或者函数的参数和函数的返回类型是函数的函数。 Scala与Java的区别: 不同点: (1) scala与java都有七种数值类型int、short、long、byte、float、double、boolean这7种,但是scala中这7种值类型是类,在java中属于基本类型,java中,数据类型分成基本类型和引用类型,scala中不区分。 (2) scala包含两种类型的变量,val变量相当于java中的常量,var则是常规变量 (3) scala中的变量或函数的类型总是写在变量或函数的后面,变量的类型可以省略。 (4) 在scala中操作符是方法,除了字母数字之外的其他特殊字符也可以作为方法,在java中操作符不是方法。 (5) scala中的通配符是_,java中的通配符是*。 (6) scala中的unit相当于java中的void。 (7) scala中没有static,但是可以用object来达到java中相同的效果,scala中的object是单例对象,相当于java中的工具类,可以看成是定义静态的方法的类,object不可传参数。 (8) scala支持关联映射,如可以用(key -> value)表示一个键值对。 (9) scala具有类型推断功能,在可由上下文推断的情况下,可以省略类型,也可以省略分号。 (10) scala的return是可选的,方法调用会自动返回最后求值的表达式。如果scala使用了return则需要显示指定方法的返回值Java需要显示的采用return进行值的返回。 (11) 类和方法修饰符的默认值:scala默认是public,java默认是protected。 (12) scala不支持接口interface,采用trait(类似于Java中的抽象类)。java支持接口。 (13) scala是面向对象+面向函数编程的语言,java是面向对象的语言。 相同点: (1)都是基于JVM的语言



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有