是否有可能静态解决重写方法?
Invoke虚拟和动态绑定之间的关系是什么?是否所有调用虚拟方法都是动态绑定的?
class Dynamic
{
public void display()
{
System.out.println("in dynamic");
}
public static void invoke(Dynamic x)
{
x.display();
}
}
这里x.display显示调用虚拟?它是什么意思?这是否意味着它是动态绑定的?
答案 0 :(得分:1)
没有。在编译时无法解析Overriden方法。它们在运行时期间根据对象类型进行解析。
InvokeVirtual
是Byte-code方式,告诉您已调用方法。