Java API中的重写方法

时间:2016-09-25 08:15:48

标签: java inheritance polymorphism

我有一个基本问题,有时候我们必须覆盖java API Jar类方法来改变实现,我的问题是如何通过API Classes调用这些重写方法.How API是否知道已重写方法的新类名?

2 个答案:

答案 0 :(得分:0)

基本上,为类生成的字节代码包含了重写方法的字节代码。 因此,当您创建子类型的对象时。 JVM将在层次结构中上升,以在执行代码时检查方法的定义。如果它首先在子类中找到,那么将执行该方法的定义,否则它将转到父类。

有关细节:您可以在书中阅读: Java虚拟机编程

https://books.google.co.in/books?id=dg7bj_e-SAMC&pg=PA87&lpg=PA87&dq=details+of+jvm+overriding+methods&source=bl&ots=3bntcjfJDc&sig=rFo8uOVcwgW0FA1U33QbqiMkuYo&hl=en&sa=X&ved=0ahUKEwir79aAoqrPAhXMvY8KHVY-CPcQ6AEIQjAG#v=onepage&q=details%20of%20jvm%20overriding%20methods&f=false

答案 1 :(得分:0)

在简单的语言中,当您重写实现方法并调用方法时,JVM将查看调用该方法的对象类型,并将在该类中搜索该方法。如果找不到该方法,则它将执行超类中定义的方法。