相关疑难解决方法(0)

scala:'def foo = {1}'vs'def foo {1}'

在这些定义foo的每种形式中发生了什么?:

scala> def foo = {1}
foo: Int

scala> foo
res2: Int = 1
Run Code Online (Sandbox Code Playgroud)

但:

scala> def foo {1}
foo: Unit

scala> foo

scala>
Run Code Online (Sandbox Code Playgroud)

methods scala

12
推荐指数
1
解决办法
1922
查看次数

为什么在Scala中用`def`覆盖`var`是不可能的?

虽然我理解为什么a var不能覆盖valin子类,反之亦然,但我无法理解为什么Scala不允许defin子类覆盖var超类中的

class Car {
  var age = 32
}

class SedanCar extends Car {
  override def age = 54
}
Run Code Online (Sandbox Code Playgroud)

因为var可变,为什么不允许a def覆盖呢?有人可以帮我理解这个吗?

scala liskov-substitution-principle immutability mutability uap

5
推荐指数
1
解决办法
805
查看次数