我有两个使用此方法的Java类:
class A {
void m1 () {
...
}
void m2 () {
...
m1();
...
}
}
class B extends A {
@Ovveride
void m1() {
...
}
void m3() {
m2();
}
}
我不确定是在m1()
内部m2()
调用的m3()
是在B内部定义的新实现还是在A中定义的新实现。
我希望m2()
使用m1()
B中定义的实现调用A BUT中定义的方法。我的代码正确吗?
这就是将要发生的事情。类B覆盖方法m1并继承m2。在m2内部,有一个对当前对象的m1的调用。(记住:“ m1();”是“ this.m1();”的缩写。)由于在B的实例上重写了m1,所以将调用重写的方法。
但是,请不要相信我,请自己尝试!放入一两个简单的System.out.println
s即可证明这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句