Metodo construtor

Qual a necessidade de se usar um metodo construtor? Nao consegui entender isso…

Cara, um exemplo pão de queijo: Suponha uma classe Pessoa que tem os atributos Id e Nome. Se essa classe não tiver um construtor, em algum momento você vai ter que fazer isso:

Pessoa pessoa = new Pessoa();
pessoa.setId(1);
pessoa.setNome("joao");

Se você declarar um construtor nessa classe, assim:

...
public Pessoa(int i, String s){
   id = i;
   nome = s;
}

Então quando criasse um objeto dessa classe você poderia fazer isso:

Pessoa pessoa = new Pessoa(1, "joao");

A pegada é que se você não declarar o seu construtor, o compilador criará um por conta, e os atributos receberão valores padrão de acordo com o tipo de cada um

Sou iniciante no java mais eu posso te dar um exemplo, você vais fazer um jogo, o jogo precisa de abrir, o que é que o jogo vai executar quando ele abrir? Sem o construtor e outras configurações ele acabaria iniciando tudo de uma vez! e o que aconteceria? Uma sobre carga no computador e esse jogo não poderia ser jogado e nem faria sentido! No construtor você coloca o que deve ser executado primeiro dentro da classe, já quando ela for aberta! é mais ou menos isso mano :slight_smile:

Me corrijam se eu estiver errado :slight_smile:

Amigo, isso vai te ajudar:

Abs!

[quote=ADEMILTON]Cara, um exemplo pão de queijo: Suponha uma classe Pessoa que tem os atributos Id e Nome. Se essa classe não tiver um construtor, em algum momento você vai ter que fazer isso:

Pessoa pessoa = new Pessoa();
pessoa.setId(1);
pessoa.setNome("joao");

Se você declarar um construtor nessa classe, assim:

...
public Pessoa(int i, String s){
   id = i;
   nome = s;
}

Então quando criasse um objeto dessa classe você poderia fazer isso:

Pessoa pessoa = new Pessoa(1, "joao");

A pegada é que se você não declarar o seu construtor, o compilador criará um por conta, e os atributos receberão valores padrão de acordo com o tipo de cada um

[/quote]

Só para complementar, ao instanciar um objeto de uma classe que não possui um construtor, por padrão o Java atribui os seguintes valores:

int: 0
long: 0
short: 0
boolean: false
String: null
char:
byte: 0
float: 0.0
double: 0.0

Lembre-se: Assim como qualquer objeto, String é null.