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.