Encadeamento de construtores em Java

Encadeamento De Construtores Em Java



Em Java, os construtores desempenham um papel crucial na inicialização da instância da classe. Eles são semelhantes aos métodos Java. No entanto, o nome do construtor é sempre igual ao nome da classe, enquanto um método normal pode ter qualquer nome válido. Principalmente, eles também são chamados de métodos especiais para declarar um objeto. Você pode criar um encadeamento de construtores que ocorre com a ajuda da herança. O construtor filho/subclasse chama o construtor pai/superclasse primeiro e, em seguida, os construtores da classe filho podem ser invocados.

Este post falará sobre o encadeamento de construtores em Java.







Encadeamento de construtores em Java

A alteração do construtor é o procedimento mais importante para chamar um construtor para outro construtor de acordo com os objetivos declarados. Um dos principais usos do encadeamento de construtores é evitar códigos redundantes ao ter vários construtores. Isso torna o código facilmente compreensível e legível.



Existem dois métodos para executar o encadeamento do construtor em Java, conforme mencionado abaixo:



Vamos verificar esses métodos um por um para entender melhor o encadeamento de construtores.





Método 1: Encadeamento de construtor dentro da mesma classe usando a palavra-chave “this ()”

Quando o encadeamento do construtor é realizado dentro da mesma classe, o Java “ esse() ” palavra-chave é usada. O construtor padrão será invocado quando uma instância de classe for iniciada. Ele chamará outro construtor usando o método “ esse ” palavra-chave. Em seguida, invoque o método “println()” para exibir o resultado no console:



min ( ) {
esse ( 5 ) ;
System.out.println ( 'O construtor padrão' ) ;
}


Agora, chame o segundo construtor que consiste em um parâmetro “ a ” e defina o valor dos parâmetros no “ esse() ” palavra-chave. Em seguida, utilize o “ println() ” e passe “a” como argumento para mostrar o resultado:

min ( int a ) {
esse ( 5 , vinte ) ;
System.out.println ( a ) ;
}


Neste construtor, passamos os dois parâmetros de tipo inteiro como “ a ' e ' b ”. Depois disso, invoque o método “println()” e passe “ a*b ” que retornará o produto dessas variáveis:

min ( int a, int b ) {
System.out.println ( a * b ) ;
}


No ' principal() ” , invoque o construtor padrão que chamará automaticamente os outros construtores e exibirá o resultado no console:

public static void main ( Argumentos de string [ ] ) {
novo minuto ( ) ;
}


Como resultado, a saída de todos os construtores será exibida no console:


Se você deseja encadear o construtor em várias classes, verifique o método indicado abaixo.

Método 2: Construtor encadeando para outra classe usando a palavra-chave “super ()”

Você também pode encadear os construtores de uma classe para outra. Para isso, a palavra-chave “super()” é usada. Para fazer isso, utilize o código a seguir na classe principal.

Primeiro de tudo, defina uma variável do tipo string “ nome ” e chame o primeiro construtor usando o nome da classe principal:

Nome da cadeia;
min ( ) {
esse ( '' ) ;
System.out.println ( 'Sem construtor da classe base' ) ;
}


Invoque o segundo construtor e passe a variável declarada acima “ Nome da string ” como o parâmetro. Use o ' esse ” para acessar o valor e invocar a palavra-chave “ println() ” método para fins de impressão:

min ( Nome da string ) {
this.name = nome;
System.out.println ( 'Chamando construtor parametrizado de base' ) ;
}


Dentro de ' principal() ” método, chame a classe filha com o parâmetro “ nome ”. Isso chamará os construtores da classe pai onde o parâmetro “ nome ” é passado. Em seguida, ele invocará o construtor da classe filha com o parâmetro “ nome ”:

public static void principal ( Argumentos de string [ ] ) {
nova criança ( 'nome' ) ;
}


Uma classe filha é criada que usa o método “ estende ” para herdar a classe pai e invocar o terceiro construtor. Depois disso, chame o próximo construtor e, dentro desse construtor, invoque o segundo construtor da classe pai:

classe Criança estende min {
Criança ( ) {
System.out.println ( 'Sem construtor de argumento da classe filha' ) ;
}
Criança ( Nome da string ) {
super ( nome ) ;
System.out.println ( 'Chamando o construtor parametrizado do filho' ) ;
}
}


Saída


Isso é tudo sobre encadeamento de construtores em Java.

Conclusão

Em Java, o encadeamento de construtores na mesma classe é feito usando a palavra-chave “this()”, enquanto a palavra-chave “super()” é usada para realizar o encadeamento de construtores em várias classes. O encadeamento do construtor ocorre com a ajuda da herança. O construtor da subclasse chama o construtor da superclasse primeiro e, em seguida, os construtores da classe filha podem ser invocados. Este post discutiu o encadeamento de construtores em Java com exemplos práticos.