首先,调用虚方法的速度比调用非虚方法的速度更慢;
其次,JIT编译器不能内联虚方法,这进一步影响了性能;
第三,虚方法使组件的版本控制更脆弱;
第四,在定义基础类型时,通常需要提供一组有用的重载方法,
如果希望这些方法是多态的,那么最好的办法就是将最复杂的方法虚拟化,而将所有有用的重载方法非虚拟化。
qishichang