我有一个愚蠢的困惑,当我们重写父类方法时,这个派生的重写方法是否仍然保存父类方法的代码,或者它是我们可以定义的新方法?
问问题
2462 次
2 回答
7
阅读这篇文章以获得清晰的概念。http://docs.oracle.com/javase/tutorial/java/IandI/override.html
一般我们在想扩展超类的方法或者想改变完整的逻辑时这样做。
例如:超类有使用冒泡排序的排序方法。
在派生类中,您希望采用相同的方法,但希望实现快速排序。然后我们做覆盖。
第二
如果你想先执行超类方法,然后你的子类重写方法逻辑,那么我们使用super.methodname()
.
最后一点,如果您覆盖该方法而不是像这样调用超类方法,super.method()
那么它并不意味着它的新方法。这意味着我已经解释了排序示例。
于 2013-02-03T11:51:39.700 回答
1
发生的事情正是注释中写的。
您覆盖该方法,而不是运行该方法的父代码,而是运行当前类的代码
于 2013-02-03T11:50:49.560 回答