DEV Community

Construtores e Construtores Parametrizados

Inicialização de Objetos:
Construtores são métodos especiais que inicializam objetos ao serem criados.
Eles têm o mesmo nome da classe e não têm tipo de retorno.

Utilidade:
Construtores são usados para fornecer valores iniciais às variáveis de instância ou realizar outras tarefas de inicialização.

Construtor Padrão:
Se uma classe não define um construtor, o Java fornece automaticamente um construtor padrão.
Este construtor padrão inicializa variáveis numéricas com zero, referências com null e booleanos com false.

Exemplo:
A classe MyClass tem um construtor que inicializa a variável de instância x com o valor 10.

// Um construtor simples.
class MyClass {
    int x;

    // Construtor da classe MyClass
    MyClass() {
        x = 10; // Inicializa x com 10
    }
}

class ConsDemo {
    public static void main(String args[]) {
        MyClass t1 = new MyClass(); // Cria uma instância de MyClass
        MyClass t2 = new MyClass(); // Cria outra instância de MyClass

        // Exibe os valores de x para ambas as instâncias
        System.out.println(t1.x + " " + t2.x);
    }
}

Enter fullscreen mode Exit fullscreen mode

Construtores Parametrizados

  • Necessidade de Parâmetros: Construtores parametrizados permitem a inicialização de objetos com valores diferentes. Eles aceitam parâmetros da mesma forma que métodos, declarados dentro de parênteses após o nome do construtor.

Exemplo:
A classe MyClass tem um construtor parametrizado que aceita um inteiro i e inicializa x com esse valor.
Na criação de objetos, valores diferentes podem ser passados para inicializar x com valores específicos.
Estes tópicos destacam a importância dos construtores para a inicialização segura e correta dos objetos, além de permitir a criação de instâncias com diferentes estados iniciais.

// Um construtor parametrizado.
class MyClass {
    int x;

    // Construtor parametrizado da classe MyClass
    MyClass(int i) {
        x = i; // Inicializa x com o valor passado no parâmetro i
    }
}

class ParmConsDemo {
    public static void main(String args[]) {
        MyClass t1 = new MyClass(10); // Cria uma instância de MyClass com x = 10
        MyClass t2 = new MyClass(88); // Cria outra instância de MyClass com x = 88

        // Exibe os valores de x para ambas as instâncias
        System.out.println(t1.x + " " + t2.x);
    }
}

Enter fullscreen mode Exit fullscreen mode

Top comments (0)