Java覆盖如何工作
我有一个愚蠢的混淆,当我们覆盖父类方法然后这个派生的重写方法仍然保持父类方法的代码,或者它是一个我们可以定义的新方法?
阅读本文以明确概念。 http://docs.oracle.com/javase/tutorial/java/IandI/override.html
通常我们想要扩展超类的方法或想要更改完整的逻辑。
例如:超级类具有使用冒泡排序的排序方法。
在Derived类中,您希望采用相同的方法,但希望实现快速排序。 然后我们覆盖。
第二
如果你想首先执行超类方法然后你的子类覆盖方法逻辑,那么我们使用super.methodname()
。
最后一点你的问题如果你重写方法而不是像super.method()
那样称为超类方法,那么它并不意味着它的新方法。 这意味着我已经解释了这个例子。
究竟发生了什么是在注释中写的。
您重写该方法,而不是运行该方法的父代码,它运行当前类的代码