Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida sobre nova classe

Boa tarde!

Estou com a seguinte dúvida:

Criei uma classe chamada Cliente e outra chamada Endereço. Ao tentar usar os métodos getters e setters dos respectivos atributos, não consegui obter sucesso pois deu erro de "null value".

Seguem os meus códigos.

Classe Cliente


public class Cliente {

    private String nome;
    private String cpf;
    private String profissao;
    private Endereco endereco;


    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public String getCpf() {
        return cpf;
    }
    public void setCpf(String cpf) {
        this.cpf = cpf;
    }
    public String getProfissao() {
        return profissao;
    }
    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }
    public Endereco getEndereco() {
        return endereco;
    }
    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }



}

Classe Endereco


public class Endereco {
    private String logradouro;
    private int numero;
    private String CEP;
    private String bairro;
    private String cidade; 
    private String estado;

    public String getLogradouro() {
        return logradouro;
    }
    public void setLogradouro(String logradouro) {
        this.logradouro = logradouro;
    }
    public int getNumero() {
        return numero;
    }
    public void setNumero(int numero) {
        this.numero = numero;
    }
    public String getCEP() {
        return CEP;
    }
    public void setCEP(String cEP) {
        CEP = cEP;
    }
    public String getBairro() {
        return bairro;
    }
    public void setBairro(String bairro) {
        this.bairro = bairro;
    }
    public String getCidade() {
        return cidade;
    }
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }
    public String getEstado() {
        return estado;
    }
    public void setEstado(String estado) {
        this.estado = estado;
    }  



}

Classe TestaBanco (Main)


public class TestaBanco {

    public static void main(String[] args) {

        Cliente paulo = new Cliente();
        paulo.setNome("Paulo Silveira");
        paulo.setCpf("222.222.222-22");
        paulo.setProfissao("Programador");

        // O erro está nessa parte do código. Não consegui definir o nome do logradouro do respectivo cliente e mostrá-lo no console.
        paulo.setEndereco(null);
        paulo.getEndereco().setLogradouro("Rua Lorem ipsum dolor sit amet");



        System.out.println(paulo.getNome());
        System.out.println(paulo.getCpf());
        System.out.println(paulo.getProfissao());
        System.out.println(paulo.getEndereco().getLogradouro());
    }

}

3 respostas

Pelo que entendi, você está atribuindo um valor null a endereço. Funcionaria atribuir algo se você fizesse parecido com o código abaixo:

```
    Cliente paulo = new Cliente();
    Endereco enderecoPaulo = new Endereco();

    enderecoPaulo.setEndereco(paulo);

`

solução!

Tenta fazer a seguinte alteração, vai funcionar

paulo.setEndereco(new Endereco());

Muito obrigado!

Funcionou com a solução do Magno, seguindo o seguinte código:

        paulo.setEndereco(new Endereco());
        paulo.getEndereco().setLogradouro("Rua Lorem Ipsum Dolor Sit Amet");