在java中,我们将body赋予子类内部父类的抽象方法,然后通过子类对象调用该函数,如:
//let the abstract function be fun then,
child c= new child();
c.fun();
然后fun
执行child
给出的主体,但是在函数覆盖中完成同样的新内容是什么?
答案 0 :(得分:2)
不同之处在于,不是抽象的子类必须实现所有继承的抽象方法。此外,具体实现不能调用super.method()
,因为抽象类中没有实现。
为什么,或者更明确地说,为什么选择抽象超类而不是接口:通常只提供接口的某些方法的实现 - 例如用于代码共享 - 并要求具体的子类为接口的其他部分提供特定的实现。
答案 1 :(得分:0)
抽象意味着开发人员(显式)实现该方法。覆盖意味着开发人员实现已经实现的方法。这是语言的定义。