ExpertiDict

Java · Avançado · Português · Técnico

construtor flexível

/kõstɾuˈtoɾ fleˈksivew/substantivo

Recurso do Java 25 que permite escrever instruções antes de super(...) ou this(...) num construtor, desde que não usem this. Útil para validar argumentos antes de chamar o pai.

Onde usar

Aparece ao validar ou transformar argumentos antes de repassá-los à superclasse, algo que antes exigia métodos static auxiliares.

Em código

class Numero { Numero(int n) {} }
class Positivo extends Numero {
  Positivo(int n) {
    if (n <= 0)
      throw new IllegalArgumentException();
    super(n); // permitido no Java 25
  }
}

Exemplos

Com o construtor flexível, valida o argumento antes do super.

Não precisamos mais de um método static só para validar antes de chamar o pai.

Cuidado

Antes do super(...) não se pode ler nem chamar membros da instância; só usar parâmetros e valores locais.

Sinônimos

flexible constructor bodies

Veja também

Todos os termos de Java