为什么当我启动没有new
关键字的案例类实例时,我无法访问普通类中的case类方法? 也就是说下面的代码我得到一个编译时错误:访问案例类别的方法
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?
}
}
但是,如果我在aInstance
申报所有的工作细加new
关键字。
错误消息:
Cannot resolve symbol g
两件事:首先,请给出确切的错误。其次,为什么你会在这种情况下使用案例类? – gzm0 2013-05-06 20:17:58
@ gzm0请查看更新后的问题。我注意到只有在创建case类实例时不使用'new'关键字才会出现编译时错误。关于你的第二个问题:我不知道为什么我不能在这种情况下使用case class,我是Scala的初学者,所以我只写这个代码来训练 – MyTitle 2013-05-06 20:26:14