Kev*_* Li 8 abstract-class static-methods scala
我已经阅读了这篇相关文章,但没有太多具体的答案(或多或少的语言设计不好): 为什么静态方法不能在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
Run Code Online (Sandbox Code Playgroud)
这可能会做你想要的.实际上没有任何方法可以强制在类的伴随对象中实现某些东西.伴随对象可能不存在.
[*]从技术上讲,有,但这更多的是一个实现细节,而不是整体哲学.请参阅scala中编译为静态方法的伴随对象中的方法?
| 归档时间: |
|
| 查看次数: |
6170 次 |
| 最近记录: |