scala和java的区别

scala写程序跟说话一样,都是要把你的思想描述出来,但是scala最大的问题是api的符号标记太复杂,

很多都好难看懂,某些语法太过复杂,上手还是有些难度的。java很规范,但是代码太多,写逻辑很

复杂的代码时,会很麻烦。Java没有shell,这也是一个不方便的地方。java 9也将推出java shell功能

1 类定义

2 方法定义

2.1 Scala采用def定义,

Java采用方法的修饰符,返回值。

3 scala支持元组,java需要采用类定义代替

4 对字符串的支持

3.1 scala采用三个双引号"""支持换行字符串, Java需要采用“+”进行字符串的连接。

5 方法返回值

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

Java需要显示的采用return进行值的返回。

6 类和方法修饰符的默认值

scala默认是public,java默认是protected.

7  默认导入的类

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

java默认导入java.lang包

8 接口

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

java支持接口

9 类成员和单例对象

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

java由类成员,单例对象需要自己实现。

10 方法参数

scala支持以函数作为参数,格式为def error(msg: =>String) 表示msg是输入参数,输出参数为String的函数

java不支持。

时间: 2024-10-21 07:45:15

scala和java的区别的相关文章

scala与java的区别

(1)scala与java都有7中数值类型:int.short.long.byte.float.double.boolean这7种,但是scala中这7种值类型是类,在java中属于基本类型,java中,数据类型分成基本类型和引用类型,scala中不区分.(2)scala中的变量或函数的类型总是写在变量或者函数名的后面(3)scala中的操作符与java中的操作符没有什么不同,但是在scala中,操作符是方法,在java中操作符不是方法,且在scala中,除了字母数字之外的其他特殊字符也可以作为

每天学一点Scala之Scala与Java的区别?

A.Scala是编译型语言,可以随意调用Java代码: B.  Scala函数式编程语言,在scala世界里,函数才是一等公民: 函数可以作为参数进行传递,可以赋值给变量,可以作为返回值进行返回 scala中,具有嵌套函数.匿名函数.高阶函数.偏函数 scala支持闭包

Scala 与 java 的区别

Scala: 1 object HelloWorld { 2 def main(args: Array[String]){ 3 println("Hello, World!") 4 } 5 } Java: 1 public class Hello 2 { 3 public static void main(String[] args) { 4 System.out.println("Hello World"); 5 } 6 } (1)在上面代码中,定义了程序的入口m

初学Scala和 Java的一些区别

初学scala,和java存在很多不一致,有很多奇葩的语法,在日常使用中,可能自己不会这么写,但是很多存在于源码中,看源码的时候,经常看的一脸懵逼,因此在此总结部门差异点,部分. 文件名 java要求文件名和公共类名必须要求一致,scala不要求. 即 java: test.java -> public class test{} scala: test.scala -> class xxx(任意){} 关键字 scala 中没有public关键字,默认访问权限就是public scala中没有

scala与java之间的那些事

scala与java之间的关系,我认为可以用一句话来开头:scala来源于java,但又高于java. scala的设计者Martin Odersky就是一个JAVA控,这位牛人设计了javac和编写了jdk中的通用代码.可以说java语言本身就是Martin Odersky一步一步看着长大的.所以scala可以说打根起就和JAVA有着远远悠长的血缘关系. Martin Odersky还在写java那会,就立志开发达成一个目标:让写程序这样一个基础工作变得高效.简单.且令人愉悦!因此可以说sca

Spark:用Scala和Java实现WordCount

为了在IDEA中编写scala,今天安装配置学习了IDEA集成开发环境.IDEA确实很优秀,学会之后,用起来很顺手.关于如何搭建scala和IDEA开发环境,请看文末的参考资料. 用Scala和Java实现WordCount,其中Java实现的JavaWordCount是spark自带的例子($SPARK_HOME/examples/src/main/java/org/apache/spark/examples/JavaWordCount.java) 1.环境 OS:Red Hat Enterp

Scala入门到精通——第二十八节 Scala与JAVA互操作

本节主要内容 JAVA中调用Scala类 Scala中调用JAVA类 Scala类型参数与JAVA泛型互操作 Scala与Java间的异常处理互操作 1. JAVA中调用Scala类 Java可以直接操作纵Scala类,如同Scala直接使用Java中的类一样,例如: //在Person.scala文件中定义Scala语法的Person类 package cn.scala.xtwy.scalaToJava class Person(val name:String,val age:Int) //伴

java版本区别

java版本区别 点我,点我,Eclipse几个版本号的区别(part1) 点我,点我,Eclipse几个版本号的区别(part2) 点我,点我,Eclipse几个版本号的区别(part3)

Scala与Java交互

Scala的一个强项在于可以很简单的于已有的Java代码交互,所有java.lang中的类都已经被自动导入了,而其他的类需要显式声明导入.来看看演示代码吧.我们希望对日期进行格式化处理,比如说用法国的格式.Java类库定义了一系列很有用的类,比如Date和DateFormat.由于Scala于Java能够进行很好的交互,我们不需要在Scala类库中实现等效的代码,而只需直接吧Java的相关类导入就可以了:import java.util.{Date, Locale}import java.tex