重写方法和动态绑定

时间:2014-10-21 08:31:21

标签: java override dynamic-binding

是否有可能静态解决重写方法?

Invoke虚拟和动态绑定之间的关系是什么?是否所有调用虚拟方法都是动态绑定的?

class Dynamic
{
    public void display()
    {
        System.out.println("in dynamic");
    }
    public static void invoke(Dynamic x)
    {
        x.display();
    }
}

这里x.display显示调用虚拟?它是什么意思?这是否意味着它是动态绑定的?

1 个答案:

答案 0 :(得分:1)

没有。在编译时无法解析Overriden方法。它们在运行时期间根据对象类型进行解析。

InvokeVirtual是Byte-code方式,告诉您已调用方法。