Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Compilando arquivos java & Construrores

Percebi que é necessário apenas compilar a classe que tem o método main e as demais não. Parece que ao compilar a principal todas as outras são também compiladas. É isso mesmo?

Outra coisa: sei que provavelmente vou entender isso mais pra frente, mas qual a necessidade de ter mais de um construtor em uma classe?

3 respostas

Olá Geovanne,

É necessário compilar todas as classes no Java, porém nas IDE`s tipo o eclipse, basta você indicar a classe main(geralmente elas já reconhecem automaticamente) que a IDE irá compilar todas as classes para você.

Mais de um construtor pode ser utilizado para diversas coisas, mas segue um exemplo:

Imagine uma classe chamada Cliente conforme o código abaixo:

public class Cliente {

    private int id;
    private String nome;


    public Cliente(int id, String nome) {
        this.id = id;
        this.nome = nome;
    }

    public Cliente(int id) {
        this.id = id;
    }

    public Cliente(String nome) {
        this.nome = nome;
    }

    public Cliente() {
    }

}

Repare que ela tem 4 construtores, com isso eu tenho as seguintes possibilidades:

  • Instanciar cliente passando o id e o nome
  • Instanciar cliente passando apenas o id
  • Instanciar cliente passando apenas o nome
  • Instanciar o cliente sem passar parametro algum

Veja o exemplo de como seria para criar o objeto cliente em cada um dos casos:

        Cliente cliente1 = new Cliente();
        Cliente cliente2 = new Cliente(23);
        Cliente cliente3 = new Cliente("denis");
        Cliente cliente4 = new Cliente(23,"denis");

Conforme o exposto, com vários contrutores você consegue instanciar sua classes de diversas maneiras diferentes.

não estou usando IDEs.

solução!

Apesar de estar totalmente esclarecido sobre a dúvida que postei. Estou fechando o post. Já percebi que ao compilar a classe que contém o método main, não é necessário compilar as demais classes que este método invoca mesmo que haja nelas alterações. Ainda não sei como isso ocorre mas sei que ocorre. Então estou fechando o post.

P.S.: não estou usando IDES, apenas linha de comando.