【发布时间】:2013-11-12 22:36:02
【问题描述】:
我的超类通过基于注解的注入通过反射来初始化成员变量。如何防止子类覆盖超类设置的成员变量的值?问题是超类的主构造函数初始化子类的成员变量,然后子类的主构造函数(随后调用)在执行成员变量的声明时覆盖该值。
【问题讨论】:
-
仅供参考,这是在 Scala 中使用 args4j 时出现的。我正在创建自己的 Options 类,其成员变量用
@Option注释。然后,我让该类的主构造函数获取一个 args 字符串数组,并使用 args4j CmdLineParser 初始化成员变量。然后,我尝试对我的 Options 类进行子类化,但在我的子类中用@Option注释的成员变量没有正确初始化,直到我用下划线初始化它们。
标签: scala inheritance reflection