gpt4 book ai didi

Scala 使用最终静态变量

转载 作者:行者123 更新时间:2023-12-03 18:23:39 26 4
gpt4 key购买 nike


class Foo(bar: String) {
import Foo.Bar
def this() = this(Bar) // this line fails, it seems I can only do
// def this() = this(Foo.Bar)
}

object Foo {
val Bar = "Hello Bar"
}

基本上,我如何使用 Bar在我之后 import Foo.Bar ,我真的要打电话 Foo.Bar吗?每一次?

最佳答案

二级构造函数有外部作用域来防止你做这样的蠢事:

class Silly(foo: String) {
val bar = 123
def this() = this(bar.toString)
}

您尝试将参数传递给构造函数的地方......在构造函数中创建它之后。

不幸的是,这意味着 import Foo.Bar不在该行的范围内。您必须使用完整路径 Foo.Bar .

对于类中除附加构造函数之外的所有内容, Foo.Bar将在范围内为 Bar .

关于Scala 使用最终静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9818570/

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