HOWTO · Java
O construtor padrão em Java
Este artigo apresenta como o construtor padrão funciona em Java.
Nesta página
Na linguagem Java, o termo construtor é semelhante aos métodos que executamos na programação. Existem algumas propriedades de um construtor que você deve ter em mente durante sua criação.
- O nome do construtor deve ser sempre igual ao nome da classe.
- Não deve haver nenhum tipo de retorno do construtor.
- Pode haver um construtor parametrizado e um construtor
sem argumento(construtor padrão) em uma classe. - O construtor sempre é chamado quando um objeto é instanciado.
- O construtor não deve prosseguir com palavras-chave como
abstract,static,finalesynchronized.
o construtor padrão em Java
O construtor Java padrão é freqüentemente chamado de construtor no-args. Abaixo, você pode verificar o bloco de código para entender o construtor padrão em Java.
public class Main {
public static void main(String[] args) {
B b = new B();
System.out.println(b.a);
}
}
class B {
int a;
}
No bloco de código acima, você observará que existem duas classes; o primeiro contém o método main e o outro é escrito para representar a funcionalidade do construtor.
A função main é o ponto de entrada do programa e a execução começa aqui. Portanto, a instrução da classe do driver, new B(), chama o construtor público sem argumento da classe B. Como não havia uma definição explícita do construtor fornecido, o compilador cria um construtor padrão sozinho e o invoca na instrução acima.
O construtor inicializa as variáveis da classe. Quando nenhum construtor é definido, o compilador inicializa o valor da variável com seus padrões. Quando a variável a da classe B é referenciada na função println, o valor impresso está na saída abaixo.
Produção:
0
o construtor parametrizado em Java
O uso de construtores parametrizados é para passar o número de parâmetros no momento da criação do objeto. Abaixo está o bloco de código que demonstra sua função.
public class Main {
public static void main(String[] args) {
A a = new A(1, "One");
System.out.println(a.a + " " + a.b);
// A a1= new A();
}
}
class A {
int a;
String b;
A(int a, String b) {
this.a = a;
this.b = b;
}
}
No bloco de código acima, A é uma classe para demonstrar o construtor parametrizado. E outra é a classe que contém o método main. Na função, a instrução new A(1, "One") chama internamente o construtor parametrizado da classe A. O objeto criado é atribuído à referência da classe e a definição do construtor é definida na classe.
O construtor, A(int a, String b), inicializa o valor das variáveis a e b. Os valores passados nos parâmetros serão copiados nas variáveis. Quando na função println, usar a variável de referência chama as variáveis de classe da classe A; ele imprime o valor instanciado na saída com um espaço adicionado entre eles.
Ao lado dele, há uma declaração comentada. Nós comentamos sobre as instruções sendo executadas usando o operador //. A instrução new A() tenta internamente encontrar o construtor sem argumento da classe. Se o compilador não encontrar nenhum construtor padrão, ele pode criar um construtor padrão.
Essa capacidade fica restrita ao caso em que não há nenhum construtor explícito definido. Portanto, neste caso, o usuário deve criar o construtor no-args manualmente. O A a1= new A(); função lança um erro de tempo de compilação. As duas opções para resolver o problema são criar um construtor padrão ou alterar a assinatura do construtor parametrizado existente que leva a instrução existente a uma interrupção. Portanto, a linha é comentada.
Produção:
1 One