Como funciona?
Em uma linguagem como Java, uma classe pode ser pensada como um modelo para dados estruturados, no qual todas as características e ações são definidas em geral. Uma instância da classe é uma estrutura de dados específica com valores exclusivos dentro dessa estrutura definida.
Normalmente, uma classe tem um método especial que compartilha o nome exato como a própria classe. Esse método, chamado de construtor, será executado automaticamente quando uma nova instância da classe for criada. Usando o polimorfismo ad hoc, vários métodos de construtor podem compartilhar o mesmo nome e chamar um ao outro, oferecendo ao programador mais opções sobre como uma instância pode ser criada.
Orientação a Objetos, Polimorfismo, Termos de Programação