Java中除了static方法和final方法(private属于final方法)之外,其他所有的的方法都是后期绑定。这意味着通常情况下,我们不必判定是否应该进行后期绑定——它会自动发生。
为什么要将某个方法申明为final呢?它可以防止其他人覆盖该方法。但更为重要一点或许是:这样就可以有效地‘关闭’动态绑定,或者说,告诉编译器不需要对其进行动态绑定。这样编译器就可以为final方法调用生成更有效的代码,然而,大多数情况下,这样做对程序的整体性能不会什么改观。所以,最好根据设计来决定是否使用final,而不是出于试图提高性能的目的来使用final。
摘于 JAVA编程思想