Any class that includes a finalize method should invoke its superclass finalize method, why?
The point is that finalize methods are not automatically “chained” – if you subclass a class that has an important finalize, your finalize method should call it. Obviously if you don’t know what the superclass finalize method does, you should call it anyway, just to be safe. By contrast, When you create an object with the new keyword, the superclass constructor(s) are called first. This is automatically “chained”.