【发布时间】:2014-11-20 11:34:44
【问题描述】:
我有这两个带有这种方法的 java 类:
class A {
void m1 () {
...
}
void m2 () {
...
m1();
...
}
}
class B extends A {
@Ovveride
void m1() {
...
}
void m3() {
m2();
}
}
我不确定在m2() 内部调用的m1() 在m3() 内部调用是B 中定义的新实现还是A 中定义的新实现。
我希望使用 B 中定义的 m1() 实现来调用 A 中定义的 m2() 方法。我的代码是否正确?
【问题讨论】:
-
你的代码能正确编译和运行吗?
-
为什么不自己测试一下呢?调试它或添加一些打印语句。
-
@AndréStannek 你说得对,我通常会这样做,但问题是我写的(显然)是伪代码,而更改真正的代码会产生很多工作这样做,并且(更重要的是)错误使用此特定代码所产生的错误可能真的很难检测和调试。但是,我创建了一个新项目,以更简单的方式制作了这个示例并检查了它是否有效:D
标签: java inheritance methods