gpt4 book ai didi

Scala: "In-place"没有 "new"关键字继承的特质

转载 作者:行者123 更新时间:2023-12-05 00:24:33 24 4
gpt4 key购买 nike

我不明白为什么在这段代码中会出现语法错误:

“T.scala”文件:

trait T

“A.scala”文件:
class A

object A {
def apply() = new A()
}

“other.scala”文件:
val a = new A() with T  // ok
val b = A() with T // syntax error ';' or newline expected

我可以在不使用 new 的情况下创建一个带有继承的新类实例吗?关键词?

我没有找到任何关于它的信息。

最佳答案

A()转换为 A.apply()这是一个返回新对象的方法,和new A()不一样.

您实际上是在尝试执行此操作(这是行不通的):

val b = A.apply()
val c = b with T

您不能使用 with在已经创建的对象上。

关于Scala: "In-place"没有 "new"关键字继承的特质,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26017194/

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