JavaRush /Blogue Java /Random-PT /Chamando um construtor de um construtor
alexnjc
Nível 31

Chamando um construtor de um construtor

Publicado no grupo Random-PT
Freqüentemente, para evitar escrever código de inicialização duplicado, é necessário chamar o código de um construtor de outro.
Chamando um construtor de um construtor - 1
Aqui está um exemplo de como isso pode ser feito:
public class SomeClass {
  int a;
  int b;
  int c;

public SomeClass(int a, int b){
   this.a = a;
   this.b = b;
  }

public SomeClass(int a, int b, int c){
    // Вызов конструктора с двумя параметрами.
    this(a, b);
    this.c = c;
  }

public void show(){
    System.out.println("a = " + a);
    System.out.println("b = " + b);
    System.out.println("c = " + c);
  }
}
Como você pode ver, para isso utilizamos a palavra-chave this, após a qual indicamos entre parênteses os parâmetros do construtor correspondente (com dois parâmetros neste caso). Você pode chamar um construtor de outro na mesma classe ou em uma superclasse, com as seguintes restrições:
  • O construtor a ser chamado deve estar na primeira linha do código do construtor de chamada.
  • Um construtor aninhado não pode ter nenhuma referência explícita ou implícita a "this". Então você não pode entrar na classe interna.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION