深入理解JVM虚拟机第二十六篇:详解JVM当中的虚方法和非虚方法,并从字节码指令的角度去分析虚方法和非虚方法-LMLPHP

一:非虚方法和虚方法

        方法编译期间就确定了具体的调用版本。这个版本在调用时是不可改变的。这样的方法称之为非虚方法。非虚方法一般包括:静态方法、私有方法、final修饰的方法、实例构造器、父类方法。其他的方法是虚方法。

        多态的使用前提是有类的继承关系和方法的重写。上述的这几类方法当我们罗列出来的时候就可以看到他们都是不可以被重写的。private、static、final的方法都不可以被重写。实例构造器在类中进行this调用的时候可以唯一的找到,并且构造器本身也是不可以被重写

11-27 05:41