2
respostas

Na classe Cliente fiz um construtor com as três variáveis em string. Criei uma nova classe para instanciar os atributos do tipo cliente, porém não executou. Deu erro relacionado à capsulamento.

public class Cliente { private int nome; private int cpf; private int profissao;

public Cliente (String nome, String cpf, String profissao) { this.nome = nome; this.cpf = cpf; this.profissão = profissao; } }


public class TestaNovoCliente { public static void main (String[] args) { Cliente novoCliente = new Cliente ("joão","222.333.444-55","comerciante"); } } obs: aqui ao executar deu erro!

2 respostas

Opa Helberto, tudo bom?

Então cara, você esta atribuindo essas Strings do construtor para 3 atributos inteiros, por isso está dando o erro.

Na sua classe Cliente, os atributos deveriam ser:

public class Cliente { 
    private String nome; 
    private String cpf; 
    private String profissao;

    // Construtor omitido
}

Por isso que você acabou tendo esse erro, está esperando atributos de um tipo, e passando de outro tipo.

Espero que tenha funcionado e ficado claro, mas qualquer coisa estou a disposição!

Na verdade digitei errado, não era "int" e sim "String", como digitado abaixo. Talvez o erro seja porque deixei no código da classe Cliente os setters e os getteres. Será que isso influência? O erro acontece quanto mando executar em uma nova classe, o construtor: Cliente c1 = new Cliente ("Helberto","304.404.555.75","Servidor Público");

public class Cliente {
    private String nome;
    private String cpf;
    private String profissao;

    public Cliente (String nome, String cpf, String profissao) {
        this.nome = nome;
        this.cpf = cpf;
        this.profissao = profissao;
    }

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

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }
    public String getProfissao() {
        return this.profissao;
    }
    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }

    public String getCpf() {
        return this.cpf;
    }

}
insira seu código aqui