Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

NullPointerException

Boa tarde. Estou me deparando com um NullPointerException ha alguns dias, e não sei como sanar este problema. Abaixo segue o método main.

public class testaCliente {

    public static void main(String[] args) {

        Cliente cliente = new Cliente();
        cliente.setNome("Fabrício");
        cliente.setTeleCel("5456");
        contaEmpresa conta = new contaEmpresa();
        conta.nomeCliente.setNome("Fabricio");
        System.out.println(conta.nomeCliente.getNome());    
    }
}

public class Cliente {

    private String nomeCliente;
    private String especialidade;
    private String graduacao;
    private String posGraduacao;
    private String teleCel;
    private String telFixo;
    Cadeira cadeira;
public void setNome(String nome) {        
        this.nomeCliente = nome;

    public String getNome() {        
        return nomeCliente;
    }
    public String getEspecialidade() {
        return especialidade;
    }
    public void setEspecialidade(String especialidade) {
        this.especialidade = especialidade;
    }
    public String getGraduacao() {
        return graduacao;
    }
    public void setGraduacao(String graduacao) {
        this.graduacao = graduacao;
    }
    public String getPosGraduacao() {
        return posGraduacao;
    }
    public void setPosGraduacao(String posGraduacao) {
        this.posGraduacao = posGraduacao;
    }
    public String getTeleCel() {
        return teleCel;
    }
    public void setTeleCel(String teleCel) {
        this.teleCel = teleCel;
    }
    public String getTelFixo() {
        return telFixo;
    }
    public void setTelFixo(String telFixo) {
        this.telFixo = telFixo;
    }
}
public class contaEmpresa {
    private int codigo;
    private String nomeEmpresa;
    private String endereco;
    private String complemento;
    private String cep;
    private String teleCel;
    private String telFixo;
    private String descricao;
    Cliente nomeCliente;
    Cadeira cadeira;
    Cliente cli = new Cliente();
    public int getCodigo() {
        return codigo;
    }
    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }
    public String getNomeEmpresa() {
        return nomeEmpresa;
    }
    public void setNomeEmpresa(String nomeEmpresa) {
        this.nomeEmpresa = nomeEmpresa;
    }
    public String getEndereco() {
        return endereco;
    }
    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }
    public String getComplemento() {
        return complemento;
    }
    public void setComplemento(String complemento) {
        this.complemento = complemento;
    }
    public String getCep() {
        return cep;
    }
    public void setCep(String cep) {
        this.cep = cep;
    }
    public String getTeleCel() {
        return teleCel;
    }
    public void setTeleCel(String teleCel) {
        this.teleCel = teleCel;
    }
    public String getTelFixo() {
        return telFixo;
    }
    public void setTelFixo(String telFixo) {
        this.telFixo = telFixo;
    }
    public String getDescricao() {
        return descricao;
    }
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
    public Cliente getNome() {
        return nomeCliente;
    }
    public void setNome(Cliente nomeCliente) {
        this.nomeCliente = nomeCliente;
    }
    public Cadeira getCadeira() {
        return cadeira;
    }
    public void setCadeira(Cadeira cadeira) {
        this.cadeira = cadeira;
    }
}
4 respostas

Continuação....


public class Cadeira {

    private String modelo;
    private String marca;
    private String anoFabricacao;
    private String estofamento;
    private String bracoCadeira;
    private String mocho;
    private String bracoCabecoteLuminaria;
    private String bracoEquipo;
    private String equipo;
    private String motor;
    private String unidadeAgua;
    private String cuba;
    private String sugadorSaliva;
    private String mangueiraAgua;
    private String mangueiraSaliva;
    private String terminalBorder;
    private String pedal;
    private String eletrica;
    private String filtro;

    public String getModelo() {
        return modelo;
    }
    public void setModelo(String modelo) {
        this.modelo = modelo;
    }
    public String getMarca() {
        return marca;
    }
    public void setMarca(String marca) {
        this.marca = marca;
    }
    public String getAnoFabricacao() {
        return anoFabricacao;
    }
    public void setAnoFabricacao(String anoFabricacao) {
        this.anoFabricacao = anoFabricacao;
    }
    public String getEstofamento() {
        return estofamento;
    }
    public void setEstofamento(String estofamento) {
        this.estofamento = estofamento;
    }
    public String getBracoCadeira() {
        return bracoCadeira;
    }
    public void setBracoCadeira(String bracoCadeira) {
        this.bracoCadeira = bracoCadeira;
    }
    public String getMocho() {
        return mocho;
    }
    public void setMocho(String mocho) {
        this.mocho = mocho;
    }
    public String getBracoCabecoteLuminaria() {
        return bracoCabecoteLuminaria;
    }
    public void setBracoCabecoteLuminaria(String bracoCabecoteLuminaria) {
        this.bracoCabecoteLuminaria = bracoCabecoteLuminaria;
    }
    public String getBracoEquipo() {
        return bracoEquipo;
    }
    public void setBracoEquipo(String bracoEquipo) {
        this.bracoEquipo = bracoEquipo;
    }
    public String getEquipo() {
        return equipo;
    }
    public void setEquipo(String equipo) {
        this.equipo = equipo;
    }
    public String getMotor() {
        return motor;
    }
    public void setMotor(String motor) {
        this.motor = motor;
    }
    public String getUnidadeAgua() {
        return unidadeAgua;
    }
    public void setUnidadeAgua(String unidadeAgua) {
        this.unidadeAgua = unidadeAgua;
    }
    public String getCuba() {
        return cuba;
    }
    public void setCuba(String cuba) {
        this.cuba = cuba;
    }
    public String getSugadorSaliva() {
        return sugadorSaliva;
    }
    public void setSugadorSaliva(String sugadorSaliva) {
        this.sugadorSaliva = sugadorSaliva;
    }
    public String getMangueiraAgua() {
        return mangueiraAgua;
    }
    public void setMangueiraAgua(String mangueiraAgua) {
        this.mangueiraAgua = mangueiraAgua;
    }
    public String getMangueiraSaliva() {
        return mangueiraSaliva;
    }
    public void setMangueiraSaliva(String mangueiraSaliva) {
        this.mangueiraSaliva = mangueiraSaliva;
    }
    public String getTerminalBorder() {
        return terminalBorder;
    }
    public void setTerminalBorder(String terminalBorder) {
        this.terminalBorder = terminalBorder;
    }
    public String getPedal() {
        return pedal;
    }
    public void setPedal(String pedal) {
        this.pedal = pedal;
    }
    public String getEletrica() {
        return eletrica;
    }
    public void setEletrica(String eletrica) {
        this.eletrica = eletrica;
    }
    public String getFiltro() {
        return filtro;
    }
    public void setFiltro(String filtro) {
        this.filtro = filtro;
    }
}

Boa noite Fabrício!

Seu código está esperando um objeto do tipo "Cliente", logo você precisa passar a classe por completo, para só depois acessar o atributo através do "get" ou "set".

Devido você ter criado uma instância da classe "Cliente cliente = new Cliente();", passado o nome para o mesmo usando o "setName" e ambas estarem no mesmo método, você não precisa alterar o nome novamente, pois o atributo já recebeu o nome "Fabrício". Então basta passar a instância da classe completa e depois só resgatar o valor que deseja através do método "get".

Seu modelo:

conta.nomeCliente.setNome("Fabricio");
System.out.println(conta.nomeCliente.getNome());

Modelo alterado:

conta.setNome(cliente);
System.out.println(conta.getNome().getNome()); 

Observações:

O primeiro get "conta.getNome()" acessa o método "getter" da classe "ContaEmpresa", já o segundo ".getNome()" acessa o "getter" da classe "Cliente" que se encontra declarado na classe "ContaEmpresa".

Outro ponto é sempre manter os nomes diferentes para não confundir e não criar classe com nome iniciando com letra minúscula.

solução

Segue seu exemplo modificado, sem a classe "Cadeira".

TestaCliente

public class TestaCliente {

    public static void main(String[] args) {

        Cliente cliente = new Cliente();
        cliente.setNome("Fabrício");
        cliente.setTeleCel("5456");

        ContaEmpresa conta = new ContaEmpresa();
        conta.setNomeCliente(cliente);
        System.out.println(conta.getNomeCliente().getNome());   

    }
}

Cliente

public class Cliente {

    private String nome;
    private String especialidade;
    private String graduacao;
    private String posGraduacao;
    private String teleCel;
    private String telFixo;
    private Cadeira cadeira;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getEspecialidade() {
        return especialidade;
    }

    public void setEspecialidade(String especialidade) {
        this.especialidade = especialidade;
    }

    public String getGraduacao() {
        return graduacao;
    }

    public void setGraduacao(String graduacao) {
        this.graduacao = graduacao;
    }

    public String getPosGraduacao() {
        return posGraduacao;
    }

    public void setPosGraduacao(String posGraduacao) {
        this.posGraduacao = posGraduacao;
    }

    public String getTeleCel() {
        return teleCel;
    }

    public void setTeleCel(String teleCel) {
        this.teleCel = teleCel;
    }

    public String getTelFixo() {
        return telFixo;
    }

    public void setTelFixo(String telFixo) {
        this.telFixo = telFixo;
    }

    public Cadeira getCadeira() {
        return cadeira;
    }

    public void setCadeira(Cadeira cadeira) {
        this.cadeira = cadeira;
    }

}

#ContaEmpresa

public class ContaEmpresa {

    private int codigo;
    private String nomeEmpresa;
    private String endereco;
    private String complemento;
    private String cep;
    private String teleCel;
    private String telFixo;
    private String descricao;
    private Cliente nomeCliente;
    private Cadeira cadeira;

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public String getNomeEmpresa() {
        return nomeEmpresa;
    }

    public void setNomeEmpresa(String nomeEmpresa) {
        this.nomeEmpresa = nomeEmpresa;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getComplemento() {
        return complemento;
    }

    public void setComplemento(String complemento) {
        this.complemento = complemento;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }

    public String getTeleCel() {
        return teleCel;
    }

    public void setTeleCel(String teleCel) {
        this.teleCel = teleCel;
    }

    public String getTelFixo() {
        return telFixo;
    }

    public void setTelFixo(String telFixo) {
        this.telFixo = telFixo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public Cliente getNomeCliente() {
        return nomeCliente;
    }

    public void setNomeCliente(Cliente nomeCliente) {
        this.nomeCliente = nomeCliente;
    }

    public Cadeira getCadeira() {
        return cadeira;
    }

    public void setCadeira(Cadeira cadeira) {
        this.cadeira = cadeira;
    }

}

Obs: Lembre-se sempre de colocar os modificadores de acesso (private, public ...), mesmo tratando uma classe como atributo.

Obrigado