class PackageStudy {
private var a = 0
private[this] var b = 1
// 只能在類內部使用,對象都不能直接使用
def getb(): Int = b
var m = PackageStudy.c
// var n = PackageStudy.d // 在伴生類中直接訪問伴生對象的 private[this] 變量,會報錯。
var o = PackageStudy.get_d()
}
object PackageStudy {
private var c = 2
private[this] var d = 3
// 伴生對象的 private[this] 變量,也只能在對象內部使用,在伴生類中無法直接使用。
def get_d(): Int = d
def main(args: Array[String]): Unit = {
val a_obj = new PackageStudy
println(a_obj.a)
// println(a_obj.b) //直接訪問 類中的 private[this] 的變量,會報錯
println(a_obj.getb())
println(a_obj.m)
println(a_obj.o)
}
}
[this]這其實是 private 和project 的作用范圍的一種情況, private[ X]表示 “直到”X 都可以,。