- - O que são construtores em Java e por que os construtores são usados

O que são construtores em Java e por que os construtores são usados

Em nossa discussão anterior sobre como inicializar variáveis ​​de instância em Java, encontramos o construtor. Aqui discutiremos o construtor em detalhes. Primeiro veremos o que é construtor. É muito entediante inicializar todas as variáveis ​​em uma classe sempre que uma instância é criada.

Mesmo quando você adiciona funções de conveniência comoinitialize () [como usamos em nossos exemplos anteriores], seria mais simples e conciso ter todas as configurações feitas no momento em que o objeto foi criado. Java permite que os objetos se inicializem quando são criados. Essa inicialização automática é realizada através do uso de um construtor.

Construtor é um tipo especial de método que possuio mesmo nome da classe em que reside e inicializa o estado interno de um objeto, para que o código que cria uma instância tenha um objeto utilizável totalmente inicializado imediatamente após a criação antes da conclusão do novo operador e não tenha nenhum tipo de retorno, porque o tipo de recurso implícito do construtor de uma classe é o próprio tipo de classe.

Tipos de construtores:

  1. Construtor padrão.
  2. Construtor parametrizado.
  3. Copie o Construtor. (Discutirá mais tarde)

Programa Java

class Employee{
String employeeName;
String address;
int age;
double salary;
/*Default Constructor */
Employee(){
employeeName = "Platini";
address = "France";
age = 45;
salary = 120500.92;
}
/* Parameterized Constructor */
Employee(String empName,String addr,int ag,double sal){
employeeName = empName;
address = addr;
age = ag;
salary = sal;
}
void showDetails(){
System.out.println("Employee's Name: "+employeeName);
System.out.println("Employee's Address: "+address);
System.out.println("Employee's Age: "+age);
System.out.println("Employee's Salary: "+salary);
}
}
class ConstructorDemo{
public static void main(String args[]){
System.out.println("Employee Details");
System.out.println("----------------");
Employee employee1 = new Employee();
employee1.showDetails();
System.out.println("----------------");
String employeeName = "John";
String address = "Los Angles";
int age = 25;
double salary = 34503.92;
Employee employee2 = new Employee(employeeName,address,age,salary);
employee2.showDetails();
System.out.println("----------------");
Employee employee3 = new Employee();
employee3.showDetails();
}
}

Resultado

programa construtor java

Explicação do código e saída Java

Employee () é um construtor padrão de Employeeclasse neste código. É chamado de padrão porque não aceita parâmetros. E quando você não define explicitamente um construtor para uma classe, o Java cria um construtor padrão para a classe. Se você vir os códigos escritos nos exemplos anteriores, não encontrará nenhum construtor definido lá, apesar de termos conseguido criar objetos dessas classes, isso ocorre apenas por esse motivo.

Flash ligado:

O construtor padrão inicializa automaticamente todas as variáveis ​​de instância para zero.

Aqui neste exemplo, objeto employee1 eemployee3 é inicializado com o construtor padrão Employee () da classe Employee. Aqui criamos o construtor padrão Employee () para a classe Employee e estamos inicializando os objetos com alguns valores definidos pelo usuário. Então, ele não será mais inicializado com zero, pois não é um construtor padrão implícito criado por java. Isso é feito apenas quando nenhum construtor é definido pelo programador para essa classe. O construtor padrão inicializa automaticamente todas as variáveis ​​de instância para zero.

Também escrevemos um parâmetroconstrutor aqui. São necessários parâmetros durante a criação do objeto, por isso é um construtor parametrizado. O objeto Employee employee2 é inicializado com o construtor parametrizado Employee (String empName, String addr, int ag, double sal).

Flash ligado:

Depois de criar seu próprio parâmetroconstrutor, o Java não criará o construtor padrão para essa classe. Você precisa criar explicitamente o construtor padrão para essa classe, caso contrário não poderá inicializar objetos usando o construtor padrão. Irá gerar um erro de tempo de compilação.

Aqui, se não criarmos o padrão Employee ()Enquanto isso, se tivermos criado o construtor Employee (String empName, String addr, int ag, double sal), não conseguiremos criar objetos usando o construtor Employee (). isto é

Funcionário employee1 = new Employee ();

Funcionário employee3 = new Employee (); essas duas instruções não serão mais válidas.

Agora, removendo o construtor padrão Employee () se compilarmos, obteremos esse erro durante o tempo de compilação.

programa construtor java

Informe-nos se tiver alguma dúvida.

A seguir vamos aprender como usar construtores de cópia em Java.

Confira tutoriais mais úteis e diretrizes definitivas sobre programação Java aqui.

Comentários