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
Me corrijam se eu estiver errado
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.