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)

Criando a classe Conta sem o public

Durante o exercício, criei um arquivo conta.java com a classe Conta assim:

public class Conta {
    double saldo;
    int agencia;
    int numero;
    String titular;
}

Mas dava erro na hora de compilar, aí eu tirei o public e o código ficou assim:

class Conta {
    double saldo;
    int agencia;
    int numero;
    String titular;
}

Dessa forma, ele funcionou. É normal criar a classe sem o public? Por que o código não funciona com o public?

3 respostas
solução

Olá Henrique!

Esse erro ocorreu devido ao tipo de visibilidade da classe e dos atributos.

O que aconteceu é que você declarou a classe como public, onde todos podem acessar, mas os atributos, por não terem nenhuma visibilidade declarada, estavam como package (ou default ou friendly) que apenas classes dentro do mesmo pacote conseguem acessar. Isso causou uma inconsistência no seu código.

Quanto a segunda pergunta, o comum é sempre colocar uma visibilidade para suas classes e para seus atributos, salvos casos que apenas as classes de um determinado pacote podem ter acesso. Teste o seguinte: coloque a visibilidade da classe e dos atributos como public. Depois que os atributos estiverem públicos, tente remover a visibilidade da classe e veja o que acontece.

Continuando o curso, você verá mais detalhes sobre o assunto, mas para mais informações, segue um link onde encontra um compilado sobre o assunto.

Espero ter ajudado!

Olá Henrique, tudo bem?

Sua dúvida foi esclarecida?

Olá Henrique. Como resolveu seu problema fecharei o tópico, ok?

Qualquer coisa não hesite em abrir outro.