作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从 Scala 对象扩展一个特征并覆盖那些在特征中的方法。所以我怀疑那些方法对于那个对象会变成静态的或实例方法,这是从特征扩展到 Scala 对象的好方法。请帮忙解决这个问题
trait A{
def show:Unit
}
object B extends A{
override def show(): Unit = {
println("inside Object")
}
}
最佳答案
There are no static methods in Scala . object
确实可以扩展 trait
。重写的方法,如 show
,不会成为静态方法,而是属于 B.type
的单个实例。这是 Scala 的 object
定义工具提供的单例模式。
在 Scala REPL 中尝试以下操作:
object B
B
它应该输出类似的东西
res0: B.type = B$@5688722f
请注意值 B
的类型是B.type
,所以B
只是一个值/实例,与静力学无关。
关于scala - 单例对象可以扩展特征吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56934220/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!