gpt4 book ai didi

scala - scala中的父类(super class)构造函数

转载 作者:行者123 更新时间:2023-12-04 22:35:09 26 4
gpt4 key购买 nike

Scala 对父类(super class)构造函数参数的处理让我感到困惑......

使用此代码:

class ArrayElement(val contents: Array[String]) {
...
}

class LineElement(s: String) extends ArrayElement(Array(s)) {
...
}

LineElement 被声明为扩展 ArrayElement,我觉得奇怪的是 Array(s) ArrayElement(Array(s)) 中的参数正在创建一个 Array 实例 - 运行时???这是scala的语法糖还是这里发生了其他事情?

最佳答案

是的,Array(s)表达式在运行时计算。

class Foo (val x: Int)
class Bar (x: Int, y: Int) extends Foo(x + y)

Scala 允许在调用父类(super class)的构造函数时使用表达式(类似于 Java 使用 super(...) 所做的事情)。这些表达式在运行时计算。

关于scala - scala中的父类(super class)构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8643826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com