Entendendo Construtores Java: Inicialização e Boas Práticas
Um construtor inicializa um objeto quando ele é criado. Ele tem o mesmo nome de sua classe e é sintaticamente similar a um método. No entanto, construtores não têm tipo de retorno explícito.
Tipicamente, você usará um construtor para dar valores iniciais às variáveis de instância definidas pela classe, ou para realizar quaisquer outros procedimentos de inicialização necessários para criar um objeto totalmente formado.
Todas as classes têm construtores, seja você defina um ou não, porque Java automaticamente fornece um construtor padrão que inicializa todas as variáveis de membro para zero. No entanto, uma vez que você define seu próprio construtor, o construtor padrão não é mais usado.
Sintaxe
Seguindo está a sintaxe de um construtor:
class ClassName {
ClassName() { }
}
Java permite dois tipos de construtores:
- Construtores Sem Argumentos
- Construtores Parametrizados
Construtores Sem Argumentos
Como o nome especifica, construtores sem argumentos de Java não aceitam nenhum parâmetro; em vez disso, usando estes construtores as variáveis de instância de um método serão inicializadas com valores fixos para todos os objetos.
Exemplo
public class MyClass {
int num;
MyClass() {
num = 100;
}
}
Você chamaria construtor para inicializar objetos como segue:
public class ConsDemo {
public static void main(String args[]) {
MyClass t1 = new MyClass();
MyClass t2 = new MyClass();
System.out.println(t1.num + " " + t2.num);
}
}
Isto produziria o seguinte resultado:
100 100
Construtores Parametrizados
Muitas vezes, você precisará de um construtor que aceite um ou mais parâmetros. Parâmetros são adicionados a um construtor da mesma forma que são adicionados a um método, apenas declare-os dentro dos parênteses após o nome do construtor.
Exemplo
Aqui está um exemplo simples que usa um construtor:
// Um construtor simples.
class MyClass {
int x;
// Seguindo está o construtor
MyClass(int i) {
x = i;
}
}
Você chamaria construtor para inicializar objetos como segue:
public class ConsDemo {
public static void main(String args[]) {
MyClass t1 = new MyClass( 10 );
MyClass t2 = new MyClass( 20 );
System.out.println(t1.x + " " + t2.x);
}
}
Isto produziria o seguinte resultado:
10 20
Java
- Entendendo Construtores em C++: Padrão, Parametrizados e de Cópia Explicados
- Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
- Comentários em Java: Tipos, Uso e Boas Práticas
- Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
- Dominando Construtores em Java: Tipos, Uso e Exemplos Práticos
- Dominando Strings em Java: Criação, Métodos e Boas Práticas
- Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
- Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
- Anotações em Java Explicadas: Tipos, Posicionamento e Exemplos Práticos
- Asserções em Java: Guia Prático para Detectar Bugs e Garantir Confiabilidade do Código