Estou com uma dúvida muito basicona…mas vai la.
Nesse código abaixo, a primeira classe eu sei q é a principal, mas e as outras duas? são o q nela?
public class Pessoa {
private String nome;
private char sexo;
private Data dataNascimento;
private String endereco;
private int rg;
public Pessoa(String nome,char sexo,String endereco, Data dataNascimento,int rg){
this.nome = nome;
this.sexo = sexo;
this.dataNascimento = dataNascimento;
this.endereco = endereco;
this.rg =rg;
}
public Pessoa(String nome,char sexo,String endereco,int dia,int mes,int ano,int rg){
this(nome,sexo,endereco,new Data(dia,mes,ano),rg);
}
[quote=jason_bourne]Estou com uma dúvida muito basicona…mas vai la.
Nesse código abaixo, a primeira classe eu sei q é a principal, mas e as outras duas? são o q nela?
[code]
public class Pessoa {
private String nome;
private char sexo;
private Data dataNascimento;
private String endereco;
private int rg;
public Pessoa(String nome,char sexo,String endereco, Data dataNascimento,int rg){
this.nome = nome;
this.sexo = sexo;
this.dataNascimento = dataNascimento;
this.endereco = endereco;
this.rg =rg;
}
public Pessoa(String nome,char sexo,String endereco,int dia,int mes,int ano,int rg){
this(nome,sexo,endereco,new Data(dia,mes,ano),rg);
}
[/code][/quote]
Aqui há UMA classe e DOIS construtores. Nenhum deles é o “principal”; não existe uma coisa como um “construtor principal” mas sim um “construtor default”, que é o construtor “sem parâmetros” e que é automaticamente criado pelo compilador, se você não definir nenhum construtor.
[quote=thingol]
Aqui há UMA classe e DOIS construtores. Nenhum deles é o “principal”; não existe uma coisa como um “construtor principal” mas sim um “construtor default”, que é o construtor “sem parâmetros” e que é automaticamente criado pelo compilador, se você não definir nenhum construtor.[/quote]
kra vlw mesmo…mas me diga, eu até agora não entendi pq nesse código tem dois construtores, vc sabe me dizer o motivo?
So existe uma classe Pessoa.
As outras duas que vc ve nao sao classes.
Na verdade sao construtores. Metodos com o
mesmo nome da classe que servem para
criar, instanciar objetos do tipo Pessoa.
UPDATE:
O cache me pegou. Ja havia sido respondido.
A razao de haver dois ou ate mais construtores
chama-se sobrecarga de metodos. OU seja,
mesmo nome e assinatura diferente.
Digamos que vc crie uma classe Quadrado.
E vc cria um construtor que recebe o LADO e
outro que nao recebe nada.
Assim vc tem duas opcoes de criar objetos,
ja conhecenco o LADO ou nao conhecendo.
Esse ultimo vc poderia usar o lado depois
com um metodo SET por exemplo.
[quote=micheljuca]So existe uma classe Pessoa.
As outras duas que vc ve nao sao classes.
Na verdade sao construtores. Metodos com o
mesmo nome da classe que servem para
criar, instanciar objetos do tipo Pessoa.[/quote]
Então, mas vc entendeu pq tem dois construtores? pois eu não entendi, não deveria ter um só?
Ela tem dois construtores para dar uma opção ao programador - se ele quer passar ano, mês ou dia separados, ou então um objeto java.util.Date. É a mesma coisa que você poder pagar uma compra com cartão de crédito ou de débito; é só questão de comodidade.
[quote=thingol]Ela tem dois construtores para dar uma opção ao programador - se ele quer passar ano, mês ou dia separados, ou então um objeto java.util.Date. É a mesma coisa que você poder pagar uma compra com cartão de crédito ou de débito; é só questão de comodidade.
[/quote]
ha blz…vlw 