java中虚方法

Java的虚方法

虚方法出现在Java的多态特性中,父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。
在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
当设计类时,被重写的方法的行为怎样影响多态性。方法的重写使得子类能够重写父类的方法。
当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法。
Java虚方法你可以理解为java里所有被overriding的方法都是virtual的,所有重写的方法都是override的。

在JVM字节码执行引擎中,方法调用会使用invokevirtual字节码指令来调用所有的虚方法。

来自 http://www.cnblogs.com/winterfells/p/7918693.html

你可能感兴趣的:(Java基础)