gpt4 book ai didi

scala - 是否可以在 Scala 中重载构造函数?

转载 作者:行者123 更新时间:2023-12-01 07:11:47 24 4
gpt4 key购买 nike

我的问题是,是否可以在 Scala 中重载构造函数?

所以我可以编写如下代码:

var = new Foo(1)
var = new Foo("bar")

如果不可能,是否有任何等效的技巧?

最佳答案

当然可以,但有限制。 Scala 要求您的构造函数之一是“主要的”。主构造函数具有特殊的、方便的语法,将构造函数参数放在类名之后。也可以定义其他“辅助”构造函数,但它们需要调用主构造函数。这与 Java 不同,而且限制性更强。这样做是为了使构造函数 args 可以被视为字段。

你的例子看起来像

class Foo(myArg:String){ //primary constructor
def this(myIntArg:Int) = this(myIntArg.toString) //secondary constructor
}

val x = new Foo(1)
val y = new Foo("bar")

关于scala - 是否可以在 Scala 中重载构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793418/

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