Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Construtores Java

Construtores Java


Neste tutorial, aprenderemos sobre construtores Java, seus tipos e como usá-los com a ajuda de exemplos.

O que é um Construtor?


Um construtor em Java é semelhante a um método que é invocado quando um objeto da classe é criado.

Ao contrário dos métodos Java, um construtor tem o mesmo nome da classe e não possui nenhum tipo de retorno. Por exemplo,
class Test {
  Test() {
    // constructor body
  }
}

Aqui, Test() é um construtor. Tem o mesmo nome da classe e não tem um tipo de retorno.

Leitura recomendada: Por que os construtores não retornam valores

Exemplo 1:Construtor Java

class Main {
  private String name;

  // constructor
  Main() {
    System.out.println("Constructor Called:");
    name = "Programiz";
  }

  public static void main(String[] args) {

    // constructor is invoked while
    // creating an object of the Main class
    Main obj = new Main();
    System.out.println("The name is " + obj.name);
  }
}

Saída :
Constructor Called:
The name is Programiz

No exemplo acima, criamos um construtor chamado Main() . Dentro do construtor, estamos inicializando o valor do name variável.

Observe a instrução de criação de um objeto da classe Main classe.
Main obj = new Main();

Aqui, quando o objeto é criado, o Main() construtor é chamado. E o valor do nome variável é inicializada.

Portanto, o programa imprime o valor do nome variáveis ​​como Programiz .

Tipos de construtor


Em Java, os construtores podem ser divididos em 3 tipos:
  1. Construtor sem Arg
  2. Construtor parametrizado
  3. Construtor padrão

1. Construtores Java No-Arg


Semelhante aos métodos, um construtor Java pode ou não ter parâmetros (argumentos).

Se um construtor não aceita nenhum parâmetro, ele é conhecido como um construtor sem argumentos. Por exemplo,
private Constructor() {
   // body of the constructor
}

Exemplo 2:construtor sem argumento privado Java

class Main {

  int i;

  // constructor with no parameter
  private Main() {
    i = 5;
    System.out.println("Constructor is called");
  }

  public static void main(String[] args) {

    // calling the constructor without any parameter
    Main obj = new Main();
    System.out.println("Value of i: " + obj.i);
  }
}

Saída :
Constructor is called
Value of i: 5

No exemplo acima, criamos um construtor Main() . Aqui, o construtor não aceita nenhum parâmetro. Por isso, é conhecido como um construtor sem argumentos.

Observe que declaramos o construtor como privado.

Uma vez que um construtor é declarado private , ele não pode ser acessado de fora da classe. Portanto, é proibido criar objetos de fora da classe usando o construtor privado.

Aqui, estamos criando o objeto dentro da mesma classe. Assim, o programa é capaz de acessar o construtor. Para saber mais, visite Java Implement Private Constructor.

No entanto, se quisermos criar objetos fora da classe, precisamos declarar o construtor como public .

Exemplo 3:construtores sem argumentos públicos Java

class Company {
  String name;

  // public constructor
  public Company() {
    name = "Programiz";
  }
}

class Main {
  public static void main(String[] args) {

    // object is created in another class
    Company obj = new Company();
    System.out.println("Company name = " + obj.name);
  }
}



Saída :
Company name = Programiz

Leitura recomendada: Modificador de acesso Java

2. Construtor parametrizado Java


Um construtor Java também pode aceitar um ou mais parâmetros. Tais construtores são conhecidos como construtores parametrizados (construtor com parâmetros).

Exemplo 4:construtor parametrizado

class Main {

  String languages;

  // constructor accepting single value
  Main(String lang) {
    languages = lang;
    System.out.println(languages + " Programming Language");
  }

  public static void main(String[] args) {

    // call constructor by passing a single value
    Main obj1 = new Main("Java");
    Main obj2 = new Main("Python");
    Main obj3 = new Main("C");
  }
}

Saída :
Java Programming Language
Python Programming Language
C Programming Language

No exemplo acima, criamos um construtor chamado Main() . Aqui, o construtor recebe um único parâmetro. Observe a expressão,
Main obj1 = new Main("Java");

Aqui, estamos passando o valor único para o construtor. Com base no argumento passado, a variável de linguagem é inicializada dentro do construtor.

3. Construtor padrão Java


Se não criarmos nenhum construtor, o compilador Java criará automaticamente um construtor no-arg durante a execução do programa. Esse construtor é chamado de construtor padrão.

Exemplo 5:construtor padrão

class Main {

  int a;
  boolean b;

  public static void main(String[] args) {

    // A default constructor is called
    Main obj = new Main();

    System.out.println("Default Value:");
    System.out.println("a = " + obj.a);
    System.out.println("b = " + obj.b);
  }
}

Saída :
a = 0
b = false

Aqui, não criamos nenhum construtor. Portanto, o compilador Java cria automaticamente o construtor padrão.

O construtor padrão inicializa quaisquer variáveis ​​de instância não inicializadas com valores padrão.
Tipo Valor padrão
boolean falso
byte 0
short 0
int 0
long 0L
char \u0000
float 0,0f
double 0,0d
object Referência nula

No programa acima, as variáveis ​​a e b são inicializados com o valor padrão 0 e false respectivamente.

O programa acima é equivalente a:
class Main {

  int a;
  boolean b;

  // a private constructor
  private Main() {
    a = 0;
    b = false;
  }

  public static void main(String[] args) {
    // call the constructor
    Main obj = new Main();

    System.out.println("Default Value:");
    System.out.println("a = " + obj.a);
    System.out.println("b = " + obj.b);
  }
}

A saída do programa é a mesma do Exemplo 5.

Observações importantes sobre construtores Java


Sobrecarga de construtores em Java


Semelhante à sobrecarga do método Java, também podemos criar dois ou mais construtores com parâmetros diferentes. Isso é chamado de sobrecarga de construtores.

Exemplo 6:sobrecarga do construtor Java

class Main {

  String language;

  // constructor with no parameter
  Main() {
    this.language = "Java";
  }

  // constructor with a single parameter
  Main(String language) {
    this.language = language;
  }

  public void getName() {
    System.out.println("Programming Langauage: " + this.language);
  }

  public static void main(String[] args) {

    // call constructor with no parameter
    Main obj1 = new Main();

    // call constructor with a single parameter
    Main obj2 = new Main("Python");

    obj1.getName();
    obj2.getName();
  }
}

Saída :
Programming Language: Java
Programming Language: Python

No exemplo acima, temos dois construtores:Main() e Main(String language) . Aqui, tanto o construtor inicializam o valor da variável language com valores diferentes.

Com base no parâmetro passado durante a criação do objeto, diferentes construtores são chamados e diferentes valores são atribuídos.

Também é possível chamar um construtor de outro construtor. Para saber mais, visite Java Call One Constructor from Another.

Observação :Usamos this palavra-chave para especificar a variável da classe. Para saber mais sobre this palavra-chave, visite Java esta palavra-chave.

Java

  1. Construtores C++
  2. Operadores Java
  3. Comentários Java
  4. Java para cada loop
  5. Construtores Java
  6. Strings Java
  7. Java esta palavra-chave
  8. Interface Java
  9. Classe anônima Java
  10. Construtor de enumeração Java