【发布时间】:2011-09-02 19:15:54
【问题描述】:
我有一个在广泛的层次结构中使用和覆盖的 init 方法。然而,每个 init 调用都扩展了前一个所做的工作。所以很自然,我会:
@Override public void init() {
super.init();
}
这自然会确保所有内容都被调用和实例化。我想知道的是:我可以创建一种方法来确保调用超级方法吗?如果所有的 init 都没有被调用,那么对象中就会出现故障,所以如果有人忘记调用 super,我想抛出异常或错误。
TYFT~艾顿
【问题讨论】:
-
@Ted - 您发布的第一个链接看起来不像是重复的,另一个问题涉及 eclipse 的自动生成的方法存根,另一个问题是关于 c# 而不是 java。
-
@Andreas - 第一个答案显示了几种强制调用超类的方法。第二个被标记为 c# 和 Java,答案是混合解决方案。
-
你可能可以为这样的东西创建自己的注释。
-
@Amir - 请原谅我的无知,但我将如何创建注释来做这样的事情?一般来说,我对注释非常陌生。
标签: java polymorphism super