【发布时间】:2017-05-07 18:08:14
【问题描述】:
伙计们,我只是想澄清我对抽象类方法工作的怀疑。希望我能得到满意的答复。
我们有 Class Base(abstract class) 和 Class Derived(concrete class) 定义如下:
abstract class Base {
abstract public void operation_first();
public void operation_second{
operation_first();
}
}
class Derived extends Base {
public void operation_first{
//Implementation
}
}
现在当我们像 as 一样调用 operation_second 方法时
new Derived().operaton_second();
它总是调用派生类operation_first 方法。
我只是想知道这种方法背后的逻辑,其中基类称为派生类方法。
【问题讨论】:
-
你在 operation_second() 中调用 operation_first() 方法,所以它的调用
-
抽象方法需要被覆盖,只有它们被称为抽象方法。所以当你调用抽象方法时,它总是会调用你的派生类覆盖方法......就是这样
-
是的,我知道我在 operation_second() 方法中调用了 operation_first() 方法,但我想知道为什么会这样。
-
我试了一下,但对我没有帮助。我的疑问仍然不清楚, operation_first() 方法是如何在这里调用的