Java 抽象和函数重写的区别?

Java 抽象和函数重写的区别?,java,Java,在java中,我们将主体赋予子类中父类的抽象方法,然后通过子类对象调用该函数,如: //let the abstract function be fun then, child c= new child(); c.fun(); 然后fun执行child给出的主体,但这与函数重写中的相同操作有什么新鲜之处?抽象意味着开发人员(显式)实现了该方法。重写意味着开发人员实现一个已经实现的方法。这是语言的定义。不同之处在于,不属于抽象的子类必须实现所有继承的抽象方法。另外,具体实

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

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

然后
fun
执行
child
给出的主体,但这与函数重写中的相同操作有什么新鲜之处?

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

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


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

当您实现抽象方法时,您没有覆盖任何内容,因为没有要覆盖的内容。重写方法可以调用
super.sameMethod
,这里显然不是这种情况。@MarkoTopolnik。术语混淆我的部分,答案编辑,谢谢谢谢你的答复,但是,想知道关于函数重写的概念抽象中有什么特别之处。。。当使用它时,这个概念所做的工作不是隐藏信息或任何根据其定义应该隐藏的东西——“隐藏细节”