C++ define elementos chamados destruidores, que são executados automaticamente quando um objeto é destruído. O método finalize( ) é semelhante a um destruidor?
Resposta:
Java não tem destruidores. Embora seja verdade que o método finalize( ) tem função semelhante a de um destruidor, não é a mesma coisa. Por exemplo, um destruidor C++ sempre é chamado imediatamente antes de um objeto sair de escopo, mas não temos como saber quando finalize( ) será chamado para algum objeto específico.
Para ser sincero, devido ao uso que Java faz do coletor de lixo, um destruidor não é tão necessário.