Méthodes Avec le Même Nom en tant que Constructeur - Pourquoi?

Pourquoi l'autorisées suivantes:

public class Foo {
  public Foo() { ... }
  public void Foo() { ... }
}

Est-il jamais une raison valable pour nommer une méthode le même que celui de la classe?