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.