如何避免使用下划线覆盖Scala中超类中初始化的成员变量?

时间:2013-11-12 22:36:03

标签: scala inheritance reflection

我的超类通过基于注释的注入反射来初始化成员变量。如何防止子类覆盖超类设置的成员变量的值?问题是超类的主要构造函数初始化子类的成员变量,然后子类的主构造函数(随后被调用)在执行成员变量的声明时写入该值。

1 个答案:

答案 0 :(得分:0)

我发现的答案是使用下划线初始化子类的成员变量。实际上,在第4.2节的语言规范中对此进行了很好的解释,该部分讨论了使用下划线为变量初始化一个返回其当前值的getter函数。