加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala中的抽象静态方法

发布时间:2020-12-16 19:13:53 所属栏目:安全 来源:网络整理
导读:我已经阅读了这篇相关文章,但没有多少具体答案(语言设计或多或少): Why can’t static methods be abstract in Java 我对Scala来说有点新手,这可能吗(可能还有特质或其他东西)? 我尝试让我的基类扩展一个特征,但是当我真的希望它们需要在伴随对象中实现时,
我已经阅读了这篇相关文章,但没有多少具体答案(语言设计或多或少):
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?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读