抽象和功能覆盖的差异?

时间:2012-08-01 19:06:01

标签: java

在java中,我们将body赋予子类内部父类的抽象方法,然后通过子类对象调用该函数,如:

//let the abstract  function be fun  then,     
child c= new child();    
c.fun(); 

然后fun执行child给出的主体,但是在函数覆盖中完成同样的新内容是什么?

2 个答案:

答案 0 :(得分:2)

不同之处在于,不是抽象的子类必须实现所有继承的抽象方法。此外,具体实现不能调用super.method(),因为抽象类中没有实现。

为什么,或者更明确地说,为什么选择抽象超类而不是接口:通常只提供接口的某些方法的实现 - 例如用于代码共享 - 并要求具体的子类为接口的其他部分提供特定的实现。

答案 1 :(得分:0)

抽象意味着开发人员(显式)实现该方法。覆盖意味着开发人员实现已经实现的方法。这是语言的定义。