标签:
Java中除了static方法和final方法(private方法属于final方法)之外,其他所有的方法都是后期绑定。这意味着通常情况下,我们不必判定是否应该进行后期绑定---它会自动发生。
为什么要将某个方法声明为final呢?正如前一章提到的那样,它可以防止其他人覆盖该方法。但更重要的一点或许是:这样做可以有效地"关闭"动态绑定,或者说,告诉编译器不需要对其进行动态绑定。这样,编译器就可以为final方法调用生成更有效的代码。然而,大多数情况下,这样做对程序的整体性能不会有什么改观。所以,最好根据设计来决定是否使用final,而不是出于视图提高性能的目的来使用final
Java中所有方法都是通过动态绑定实现多态
在导出类中,对于基类中的private方法,最好采用不同的名字
万一某个子对象要依赖于其他对象,销毁的顺序应该和初始化顺序相反,对于字段,则意味着与声明的顺序相反(因为字段的初始化是按照声明的顺序进行的)。对于基类,应该首先对其导出类进行清理,然后才是基类。这是因为导出类的清理可能会调用基类的某些方法,所以需要使基类中的构件仍起作用而不应过早的销毁它们。
构造方法不具有多态性(它们实际上是static方法,只不过该static声明是隐式的)
标签:
原文地址:http://www.cnblogs.com/itpoorman/p/4431177.html