這個問題關於scala的保護範圍。以下代碼完美運行。關於在scala中保護[some_scope]和繼承的工作的困惑
//In firstfile.scala
package A{
class test{
protected[test] var a=0
}
}
package B{
class test1 extends A.test{
println(a)
}
}
但是當我把程序包B在其他一些文件,然後編譯失敗說沒有找到值
// In secondfile.scala
import A.test
package B{
class test1 extends test{
println(a)
}
}
我運行在的IntelliJ這個代碼。 這可能是什麼原因?這兩個代碼不一樣嗎?
斯卡拉是否會找到類A.test? –
是的,它編譯得很好,如果我不使用test1類中的'a'字段,所有其他公共測試領域都可以毫無疑問地使用 – codecool