Construtores: Como funcionam?

Como funcionam os construtores de uma classe em Java?
Uma classe contem construtores que são invocados para criar objetos a partir do molde dessa classe.
A declaração de um construtor é similar a declaração de um método, exceto que:
- Usam o nome da classe
- Não tem um tipo de retorno.
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
Para criar um novo objeto do molde Bicycle chamado myBike, um construtor é acionado pelo operador new:
Bicycle myBike = new Bicycle(30, 0, 8);
Assim, new Bicycle(30, 0, 8) cria espaço na memória para esse objeto e inicializa as suas propriedades.
Uma classe pode ter um ou mais construtores
public Bicycle() {
gear = 1;
cadence = 10;
speed = 0;
}
Bicycle yourBike = new Bicycle(); aciona um construtor sem argumento para criar um novo objeto chamado yourBike.
Ambos os construtores poderiam ter sido declarados em Bicycle porque possuem listas de argumentos diferentes.
Assim como acontece com os métodos, a plataforma Java diferencia os construtores com base no número de argumentos na lista e em seus tipos.
Você não pode escrever dois construtores com o mesmo número e tipo de argumentos para a mesma classe, porque o compilador não seria capaz de diferenciá-los. Isso causaria um erro em tempo de compilação.
Existe Classe sem construtor?
Sim. mas você deve ter cuidado ao fazer isso. O compilador fornece automaticamente um construtor padrão sem argumentos para qualquer classe sem construtores. Esse construtor padrão chamará o construtor sem argumentos da superclasse.
Nessa situação, o compilador reclamará se a superclasse não tiver um construtor sem argumentos, portanto, você deve verificar se ele possui.
Se sua classe não tiver uma superclasse explícita, ela terá uma superclasse implícita de Object, que possui um construtor sem argumentos.
A seguir, estude sobre Herança.




