Modificadores de acesso
Por padrão, todos os
campose
métodos de uma classe em Java são
privados. Isso significa que ninguém pode acessá-los, o que significa que fora dos objetos dessa classe, nenhum método pode usar os campos e métodos dos objetos dessa classe.
Campos e métodos podem se tornar públicos com o
modificador de acesso public
. Há também um modificador
private
que torna o campo privado. É opcional, pois todos os campos e métodos são privados por padrão. Aqui está um exemplo de uso dos modificadores
public
e
private
.
livro escolar
{
stringname público;
String autorNome;
private int ageRequirement;
Stringtexto;
public int pageCount;
int getTextLength()
{
return tamanho do texto();
}
public int getAverageLetterCount()
{
return getTextLength() / pageCount;
}
private int getDifficuiltyLevel()
{
return 5 * idadeRequisito * text.Length();
}
}
Nesta versão da classe Book
, os campos name
e pageCount
são tornados públicos para leitura e modificação em outros objetos. O método getAverageLetterCount()
também está disponível para ser chamado a partir de objetos de outras classes. Todos os outros campos e métodos permanecem privados e estão disponíveis apenas nos métodos desta classe. No método público getAverageLetterCount()
podemos chamar o método privado getTextLength()
porque getAverageLetterCount()
pertence à própria classe. Mas não funcionará de um método de outra classe.
Mas por que então tornar os campos privados? No código Java, você verá apenas campos privados. O fato é que, se o acesso a campos privados for realizado por meio dos métodos públicos do objeto, com qualquer acesso a campos privados será possível realizar ações e verificações adicionais. Mais sobre isso estará na lição sobre encapsulamento.