两者有什么区别?
具有myMethod(int a)
的超类和具有相同方法的继承类,
这是压倒一切还是多态?
我很清楚b / w覆盖和重载的区别,但多态性和覆盖似乎是一样的。或者是他们?
答案 0 :(得分:9)
覆盖是指在对象上调用方法时,调用子类中与超类中的方法具有相同签名的方法。
多态性是您在运行时不确定对象类型并调用最具体方法的地方。因此,调用的方法的行为可能会有所不同,具体取决于运行时的对象类型。
Overriding是一种多态,以及重载和动态(后期)绑定。您可以查看更多详细信息here about the different types.
答案 1 :(得分:1)
我明天要参加软件体系结构考试,这是我从阅读中学到的东西。
多态性是面向对象编程的概念,它允许将字段(在这种情况下为对象)从一种形式更改为另一种形式。多边形=多个,变形=变化。
覆盖方法本质上是方法的动态绑定,它允许在运行时更改方法。由于方法的功能会随着时间的推移而发生变化,因此它是一种多态形式。
我从这里取得了一些事实- https://beginnersbook.com/2013/03/polymorphism-in-java/
答案 2 :(得分:1)
方法的覆盖只是多态性的一种类型。在下面的文章中非常清楚地提到了它。下面提供了链接。
答案 3 :(得分:0)
是的...通过使用覆盖,我们实现了多态的属性......当你有多个时 从单个父类派生的类...通过使用重写...我们定义派生类方法的功能,因为它们是从同一个父派生的,我们展示了多态的属性..