我有这个Java代码:
class Super {
public static void foo() { bar(); }
public static void bar() { out.println("BAR");}
public static void main(String[] args) {
foo();
}
}
class Sub extends Super {
public static void bar() { out.println("bar"); }
}
Run Code Online (Sandbox Code Playgroud)
我想看看它在Scala中做了什么,但似乎无法找到如何编写等效的.这就是我所拥有的:
object Super {
def foo() { bar() }
def bar() { println("BAR")}
def main( args : Array[String]) {
foo()
}
}
object Sub extends Super {
override def bar() { println("bar")}
}
Run Code Online (Sandbox Code Playgroud)
但是没有编译.是因为对象不能继承?
Tim*_*per 11
你可能想把它改成这样的东西
class Super {
def foo() { bar() }
def bar() { println("BAR")}
def main( args : Array[String]) {
foo()
}
}
object Super extends Super {
}
object Sub extends Super {
override def bar() { println("bar")}
}
Run Code Online (Sandbox Code Playgroud)
这样你就拥有Super和Super类型.
编辑:刚刚将主要方法移动到类Super,这样它更干净.
| 归档时间: |
|
| 查看次数: |
6779 次 |
| 最近记录: |