Scala与Java的区别

两种不同的语言,两种不同的编程思想,真比起来的话肯定需要一大片长文来写,自己也没这个水平。。在此简单的罗列一些基本的差别。

  1. Scala不需要分号结尾
  2. Scala函数式编程语言,在scala世界里,函数才是一等公民;函数可以作为参数进行传递,可以赋值给变量,可以作为返回值进行返回
  3. Scala类型定义开头需大写
  4. Scala函数定义需 def 开头,Scala函数没有返回值用Unit,相当于java的void
  5. Scala中return 可以省略,直接用表达式作为返回
  6. scala支持自动类型推测,变量var 常量val;scala更多的是采用常量,而不是变量来解决问题,这样带来的好处是可以减少多线程并发安全问题;常量/变量定义时可以指定类型,类型在变量名后面: val test:String = “hello”
  7. Scala中并没有真正意义上的基本类型,一切都是对象
  8. Scala没有静态方法,使用了单例对象Object来实现
  9. Scala 支持使用三引号将其中的内容直接包起来,其中可以包括任何字符而不需要转义
  10. Scala类中的字段自动带有getter和setter方法
  11. Scala中的每个类都有一个主构造器,这个构造器和类定义”交织在一起”,类的参数直接成为类的字段,主构造器执行类体中所有的语句
  12. Scala中不支持Break,使用return替代
  13. Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类不能访问被嵌套类的私有成员。
  14. Java使用*进行通配,Scala使用 _ 进行通配
  15. Java中叫接口,Scala中叫trait特质
  16. Scala中没有参数的方法调用通常省略括号
  17. Scala中没有++/–操作符,用+=1/-=1代替
  18. Scala中if/else语句是有返回值的val result = if( x > 0 ) 1 else 0
  19. Scala中大括号{}也是有返回值的
  20. Scala中参数可以有默认值def hello(s:String = “hello world”) = println(s)
  21. Scala中有lazy变量,直到被使用时才会初始化:lazy val num = 1
  22. Scala中函数定义可以嵌套
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值