Características do construtor
- O nome do construtor deve ser igual ao nome da classe.
- O tipo de retorno é nulo.
- O construtor não pode ser estático, abstrato e final.
Tipos de construtor
- Predefinição
- Sem parâmetros
- Parametrizado
1. Construtor padrão
O construtor padrão é criado pelo compilador Java quando o codificador não declara nenhum construtor para a classe e esse construtor não contém nenhum argumento. O arquivo Java não contém nenhum código para o construtor padrão. O código do construtor padrão é criado no momento da compilação do código Java e é armazenado no .classe Arquivo.
2. Construtor sem parâmetros
Quando um construtor é declarado sem nenhum parâmetro ou argumento, ele é chamado de construtor sem parâmetros. Um construtor sem parâmetro funciona como um construtor padrão e esse construtor pode conter instruções ou pode estar vazio.
3. Construtor parametrizado
Quando qualquer construtor é declarado com um ou mais parâmetros, ele é chamado de construtor parametrizado. Os valores dos parâmetros do construtor são passados no momento da criação do objeto.
Exemplo 1: Criação de um construtor sem parâmetros
O código a seguir mostra como usar um construtor sem parâmetros. Já foi mencionado que o nome do método do construtor será igual ao nome da classe. Aqui, o nome da classe é ‘ con1 , 'Então o nome do construtor sem parâmetro é' con1 () . ’Duas variáveis de classe,‘ nome ' e ' era , 'São declarados aqui. No momento de declarar a variável do objeto ' obj , 'O construtor será chamado e uma mensagem específica será impressa. Depois disso, dois valores são atribuídos nas variáveis de classe e são impressos posteriormente usando o ‘Obj’ objeto.
público classecon1{// declara variáveis
Fragmento nome;
intera;
// Construtor sem parâmetros
con1() {
Sistema .Fora.println('Construtor é chamado.');
// Inicializa as variáveis
nome= 'Fahim Reza';
era= 30;
}
// método main ()
público estático vazioa Principal( Fragmento []args) {
// Cria um objeto
con1 obj= novocon1();
// Imprime os valores das propriedades do objeto
Sistema .Fora.imprimir('A idade de ' +obj.nome + ' é ' +obj.era);
}
}
Saída:
A imagem a seguir mostra a saída do código. O construtor é chamado no momento da criação do objeto e a mensagem Construtor é chamado é impresso. Os valores de ‘ nome ' e ' era ’São atribuídos dentro do construtor. Os valores dessas variáveis são impressos posteriormente.
Exemplo 2: criar um construtor parametrizado
O código a seguir calculará o salário total de um funcionário com base no salário-base e imprimirá as outras informações desse funcionário junto com o salário calculado. Aqui, sete variáveis de classe são declaradas. O construtor, denominado ‘ con2 () , 'Tem três parâmetros. Os primeiros dois parâmetros assumirão os valores da string no ' nome ' e ' publicar 'Parâmetros, e o terceiro parâmetro assumirá o valor numérico no' básico Parâmetro '. Os valores desses parâmetros serão passados no momento da criação do objeto. O construtor irá inicializar as variáveis de classe com esses valores e calcular os outros valores com base no valor de ‘ básico Parâmetro '. Em seguida, o nome, cargo e salário do funcionário serão impressos.
público classecon2{// Declare variáveis
Fragmento nome;
Fragmento publicar;
intBásico;
DuploHouseRent;
DuploMédico;
DuploTransporte;
DuploSalário;
// Construtor parametrizado
con2( Fragmento nome, Fragmento publicar,intbásico) {
isto.nome =nome;
isto.publicar =publicar;
isto.Básico =básico;
isto.HouseRent =básico*0,3;
isto.Médico =básico*0,2;
isto.Transporte =básico*0,1;
Salário=básico+HouseRent+Médico+Transporte;
}
// método main ()
público estático vazioa Principal( Fragmento []args) {
// Cria um objeto
con2 obj= novocon2('Mir Sabbir','Contador',65000);
// Imprime os valores das propriedades do objeto
Sistema .Fora.imprimir('Nome do empregado: ' +obj.nome + ' n' + 'Publicar: '+obj.publicar +
' n' + 'Salário: TK'+obj.Salário);
}
}
Saída:
A imagem a seguir mostra a saída do código. Aqui, o nome do funcionário, cargo e salário-base são fornecidos na declaração de criação do objeto. O salário total, nome e cargo são impressos aqui.
Exemplo 3: Criar encadeamento de construtor
É importante saber sobre o recurso de herança da programação orientada a objetos para entender o conceito de encadeamento de construtor. Quando uma nova classe é criada herdando outra classe, isso é chamado de herança. Nesse caso, todas as propriedades da classe pai ou base são acessíveis a partir da classe filha ou derivada. Quando um objeto da classe filha é criado, ele chama automaticamente o construtor da classe pai antes de chamar seu próprio construtor. O ' super() 'Método é usado em outras linguagens para chamar o construtor pai, mas o compilador Java chama este método automaticamente. O uso de construtores dessa maneira é chamado de encadeamento de construtor e esse processo é mostrado neste exemplo. Aqui, o nome da classe pai é ‘ pai 'E o nome da classe filha é' con3 . ’Existe outro método chamado‘ combinar() ’Na classe filha que combina os valores atribuídos nos construtores pai e filho.
classepai{// Declare a variável
Fragmento strVal;
// Construtor pai
pai(){
Sistema .Fora.println('O construtor principal é chamado');
strVal= 'Eu gosto ';
}
}
público classecon3estendepai{
// Declare a variável
Fragmento childStrVal;
// Construtor filho
con3(){
Sistema .Fora.println('O construtor filho é chamado');
childStrVal=strVal+ 'Programação Java';
}
// Outro método para combinar strings
Fragmento combinar()
{
Retorna isto.childStrVal;
}
// método main ()
público estático vazioa Principal( Fragmento []args) {
// Cria um objeto
con3 obj= novocon3();
// Imprime os valores das propriedades do objeto
Sistema .Fora.imprimir(obj.combinar());
}
}
Saída:
A imagem a seguir mostra a saída do código. A primeira mensagem é impressa a partir do construtor pai, enquanto a segunda mensagem é impressa a partir do construtor filho. A última mensagem é impressa chamando o ' combinar() 'Método.
Conclusão
O conceito do construtor e os usos de diferentes construtores são explicados neste tutorial usando exemplos de código Java fáceis para que usuários novatos possam seguir. Esperançosamente, esses exemplos ajudaram você a entender os fundamentos do construtor Java.