第三章 对于所有对象都通用的方法

尽管Object是一个具体类,但是设计它主要是为了扩展。它所有的非final方法(equalshashCodetoStringclonefinalize)都有明确的通用约定(general contract),因为它们被设计成是要被覆盖(override)的。任何一个类,它在覆盖这些方法的时候,都有责任遵守这些通用约定;如果不能做到这一点,其他依赖于这些约定的类(例如HashMapHashSet)就无法结合该类一起正常运作。

本章将讲述何时以及如何覆盖这些非finalObject方法。本章不再讨论finalize方法,因为第7条已经讨论过这个方法了。而Comparable.compareTo虽然不是Object的方法,但是本章也对它进行讨论,因为它具有类似的特征。

results matching ""

    No results matching ""