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
- Padrã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 este 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 .aula Arquivo.
2. Construtor sem parâmetros
Quando um construtor é declarado sem qualquer parâmetro ou argumento, ele é chamado de construtor sem parâmetros. Um construtor sem parâmetro funciona como um construtor padrão e este 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. Foi mencionado antes que o nome do método do construtor será o mesmo que o 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 particular será impressa. Depois disso, dois valores são atribuídos nas variáveis de classe e são impressos posteriormente usando o 'obj' objeto.
public class con1// declara variáveis
Nome da string;
idade interna;
// Construtor sem parâmetros
con1 ()
Sistema.Fora.println ("O construtor é chamado.");
// Inicializa as variáveis
nome = "Fahim Reza";
idade = 30;
// método main ()
public static void main (String [] args)
// Cria um objeto
con1 obj = novo con1 ();
// Imprime os valores das propriedades do objeto
Sistema.Fora.print ("A idade de" + obj.nome + "é" + obj.era);
Resultado:
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 irá 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 levarão os valores da string no 'nome' e 'publicar'parâmetros, e o terceiro parâmetro terá 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 do 'básico'parâmetro. Em seguida, o nome, cargo e salário do funcionário serão impressos.
public class con2// Declare variáveis
Nome da string;
Post de corda;
int Basic;
double HouseRent;
duplo Médico;
Transporte duplo;
Salário dobrado;
// Construtor parametrizado
con2 (String nome, String post, int basic)
esta.nome = nome;
esta.post = post;
esta.Básico = básico;
esta.HouseRent = basic * 0.3;
esta.Médico = básico * 0.2;
esta.Transporte = básico * 0.1;
Salário = básico + Aluguel Casa + Médico + Transporte;
// método main ()
public static void main (String [] args)
// Cria um objeto
con2 obj = novo con2 ("Mir Sabbir", "Contador", 65000);
// Imprime os valores das propriedades do objeto
Sistema.Fora.print ("Nome do funcionário:" + obj.nome + "\ n" + "Postagem:" + obj.publicar +
"\ n" + "Salário: TK" + obj.Salário);
Resultado:
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 de 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, é chamada de herança. Neste 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 desta forma é chamado de encadeamento de construtor e este 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.
class parent// Declare a variável
String strVal;
// Construtor pai
pai ()
Sistema.Fora.println ("Construtor pai é chamado");
strVal = "Eu gosto";
public class con3 extends parent
// Declare a variável
String childStrVal;
// Construtor filho
con3 ()
Sistema.Fora.println ("Construtor filho é chamado");
childStrVal = strVal + "Programação Java";
// Outro método para combinar strings
String combine ()
devolva isso.childStrVal;
// método main ()
public static void main (String [] args)
// Cria um objeto
con3 obj = novo con3 ();
// Imprime os valores das propriedades do objeto
Sistema.Fora.imprimir (obj.combinar());
Resultado:
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.