Bom dia! Estou com uma duvida tremenda na qual não consigo achar um solução!
Estou tentando fazer que um construtor consiga pegar um atributo de uma classe e faça ele como parâmetro como mostra o código a seguir:
public class Comprador {
private String nome;
private int idade;
private EnderecoResidencial endereco;
public Comprador(String nome, int idade, EnderecoResidencial endereco) {
this.nome = nome;
this.idade = idade;
this.endereco = endereco;
}
public Comprador(String nome, int idade) {
this.setNome(nome);
this.setIdade(idade);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public EnderecoResidencial getEndereco() {
return endereco;
}
public void setEndereco(EnderecoResidencial endereco) {
this.endereco = endereco;
}
public void imprime() {
System.out.println("Nome: " + getNome());
System.out.println("Idade: " + getIdade());
System.out.println("Endereço: " + getEndereco());
}
}
public class EnderecoResidencial {
private String enderecoCompleto;
public EnderecoResidencial(String endereco) {
this.enderecoCompleto = endereco;
}
public String getEnderecoCompleto() {
return enderecoCompleto;
}
public void setEnderecoCompleto(String enderecoCompleto) {
this.enderecoCompleto = enderecoCompleto;
}
public void imprime() {
System.out.println("O endereço completo é: " + getEnderecoCompleto());
}
O problema é que ao fazer isso no main está gerando o erro: (The constructor Comprador(String, int, String) is undefined.) Somente no construtor no qual eu quero pegar o endereço.
public class Teste {
public static void main(String[] args) {
EnderecoResidencial enderecoresidencial = new EnderecoResidencial("Rua Pauliceia");
enderecoresidencial.imprime();
Comprador comprador1 = new Comprador("Ari", 22, ""); //(The constructor Comprador(String, int, String) is undefined.)
comprador1.imprime();
Comprador comprador2 = new Comprador("Ana", 18);
comprador2.imprime();
System.out.println(comprador1.getEndereco());
System.out.println(enderecoresidencial.getEnderecoCompleto());
}
}
No que estou errado nesse código?