new
キーワードなしでケース クラス インスタンスを開始すると、通常のクラスのメソッド内のケース クラスのメソッドにアクセスできないのはなぜですか? つまり、次のコードでは、コンパイル時にエラーが発生します。
case class A() {
private var _g = 12
//getter-setter
def g = _g
def g_=(value : Int) = this._g = value
}
class B {
def someMethod = {
val aInstance = A
aInstance.g = 4; // compile time error. Why?
}
}
しかし、宣言にnew
キーワードを追加すると、すべて正常に動作します。aInstance
エラーメッセージは次のとおりです。
シンボル g を解決できません