Java中的特性,在scala中不存在

Arn*_*was 3 java scala

Java和Scala都是OO编程语言(Scala也是功能性的).我是Scala的新手,根据我的理解,Scala是对Java的改进(就OOP而言).Java中有哪些特性/功能,但Scala尚未引入?以下是我所知道的一些:

  1. Scala没有静态.而不是它有对象.

  2. Scala没有"检查异常"的概念.

  3. Scala中不存在原始数据.

0__*_*0__ 9

某些东西是否是"特征"当然是值得商榷的.您还可以说,Scala具有不检查异常的特性,因此不是PITA ...与统一类型和原语相同(Scala仍然出于性能原因而引入).

否则,我想到了以下内容

  • 枚举.不是Scala中的语言构造
  • Java语义中的for循环,no breakcontinue(仅通过普通方法); 因此没有跳转标签
  • 你可以在Java类中有多个独立的构造函数(我认为),而在Scala中,每个辅助构造函数都必须调用一个主构造函数(对吗?)
  • 定义和赋值变量sepa(final int x; ...; x = 3)
  • assert 不是语言结构
  • 方法参数在Java中充当可变变量,在Scala中它们是只读的val.
  • static单身人士object的缺席有关:没有静态的内在阶级
  • 没有特殊的三元运算符?; 在Scala中你使用if哪个是表达式
  • 没有数组文字,虽然我想Array(1, 2, 3)可以在未来的Scala编译器版本中进行优化.
  • switch和模式匹配的工作方式不同 switch允许通过案例,但只适用于少数类型.
  • 一些更原始的运算符,例如前/后增量++i,i++

大多数其他事情是关于事物的不同观点(例如声明站点与呼叫站点差异),但不是仅存在于Java中的真正特征.