2

这就是我想做的:

object foo {
    def bar = Array(1, 2, 3, 4, 5)
}
class foo (baz = bar) {
}

这会导致编译器错误。还有另一种方法可以做到这一点吗?

4

3 回答 3

12
object foo {
    def bar = Array(1, 2, 3, 4, 5)
}

class foo (baz: Array[Int] = foo.bar) {
}
于 2012-11-05T14:50:59.813 回答
1

您可以使用辅助构造函数

object Foo {
  def bar = Array(1, 2, 3, 4, 5)
}

class Foo(baz: Array[Int]) {
  def this() = this(Foo.bar)
}
于 2012-11-05T14:57:26.940 回答
1

您可以编写一个辅助构造函数:

object foo {
    def bar = Array(1, 2, 3, 4, 5)
}

class foo (baz : Array[Int]) {
    def this(){
        this(bar)
    }
}

编写时没有 IDE 或编译器,因此必须有人修正错别字。

于 2012-11-05T14:52:01.427 回答