編譯一個簡單的項目,我做了兩個班的一個簡單的玩具項目:不能使用命令行
object A {
var b = B()
}
class B {
....
}
我不能使用任何IDE,因爲我需要使用ssh
。
我不能編譯該項目,因爲錯誤的:
A.scala:18: error: not found: value B
我編譯使用:
scalac *.scala
我試着玩的類路徑,但沒有解決。
你能幫我嗎?
編譯一個簡單的項目,我做了兩個班的一個簡單的玩具項目:不能使用命令行
object A {
var b = B()
}
class B {
....
}
我不能使用任何IDE,因爲我需要使用ssh
。
我不能編譯該項目,因爲錯誤的:
A.scala:18: error: not found: value B
我編譯使用:
scalac *.scala
我試着玩的類路徑,但沒有解決。
你能幫我嗎?
由於您還沒有爲B
定義companion object,因此當您將其實例化時,您需要new B()
而不僅僅是B()
。
如果你想使用var b = B()
實例B
類,你需要創建B
類同伴對象與apply()
工廠方法:
class B {
// ...
}
object B {
def apply(): B = new B()
}
注意B()
是B.apply()
特殊的語法。
的另一種方式是使B
的情況下類:
case class B {
// ...
}
然後用apply
方法中的協同對象是自動生成的(以及一個toString
和方法用於模式匹配)。