Orientação a Objetos

Olá boa tarde.

Essa semana meu professor falou sobre construtores em java, entendi perfeitamente a sintaxe e como faço para utiliza-lo.
O problema é que não sei quando e porque devo utilizar o construtor ou não. Se alguém puder me ajudar e dar um exemplo, ficarei grato.

Te aconselho a ler essa apostila da Caelum http://www.caelum.com.br/apostila-java-orientacao-objetos/

mais precisamente, esse assunto está no capitulo 4
http://www.caelum.com.br/apostila-java-orientacao-objetos/orientacao-a-objetos-basica/

Geralmente é usado quando se deseja passar os valores dos atributos na hora da instanciação, ou seja você deseja criar um objeto já com os atributos setados ou chamar um método no momento da instanciação.
Imagine um método dentro da sua classe que deve ser chamado assim que o objeto for criado.

Toda classe tem construtor! quando não está visível você está usado o construtor padrão fornecido pelo Java que é sem argumentos.
e todos faz chamada ao construtor da super classe.

Caso não ficou claro, vamos a um exemplo de código bem simples:

Imagine que você tem uma classe que cria um novo objeto cão, daremos o nome Dog.

class Dog{
	String nome;

	Dog(){ 
		nome = "Nome Padrao"; 
	}
	
	Dog(String n){
		nome = n;
	}

	void latir(){
		System.out.println("Meu nome eh: "+ nome);
	}
}

Então em nosso método main, se quisermos criar 100 novos cães, não precisamos dar nomes a eles, se queremos que eles tenham um nome padrão.
Já se quisermos especificar, teremos outro construtor com o parâmetro String.

[code]
class DogTest{
public static void main(String[] args) {
Dog d = new Dog(“Max”);
d.latir();

	Dog d2 = new Dog();
	Dog d3 = new Dog();
	Dog d4 = new Dog();
	.
	.
	.
	100 cães ...
}

}
}[/code]

Lembre-se, se criar um construtor com parâmetros, a JVM não criará sozinha o construtor sem parâmetros(Dog(){}), então você terá que criá-lo caso queira criar objetos só usando new myClass().