gpt4 book ai didi

scala - Scala 中的抽象静态方法

转载 作者:行者123 更新时间:2023-12-04 07:57:17 25 4
gpt4 key购买 nike

我读过这篇相关的文章,但没有多少具体的答案(或多或少糟糕的语言设计):
Why can't static methods be abstract in Java

我是 Scala 的一个新手,这可能吗(也许有特征或其他东西)?

我尝试让我的基类扩展一个特征,但是当我真的希望它们被要求在伴随对象中实现时,子类需要将抽象静态方法实现为成员方法。

最佳答案

Scala [*] 中没有静态方法,因此您的问题没有实际意义。

但是,您可以通过扩展具有特征的对象来获得所需的内容:

scala> trait A { def foo(): Int }
defined trait A

scala> object C extends A { def foo(): Int = 5 }
defined module C

scala> C.foo
res0: Int = 5

这可能会做你想要的。真的没有任何方法可以强制在类的伴随对象中实现某些东西。伴随对象可能不存在。

[*] 从技术上讲,有,但这更多的是一个实现细节,而不是一个整体的哲学。见 Method in companion object compiled into static methods in scala?

关于scala - Scala 中的抽象静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802823/

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