Modificadores de acesso em Java
Programação orientada a objetos como Java é grande em detalhes esconderijos. Os programadores que escrevem um pedaço de código não deve mexer com os detalhes dentro do código de outro programador. Não é uma questão de segurança e sigilo. É uma questão de modularidade.
Ao ocultar detalhes, você mantém os meandros dentro de um pedaço de código seja torcido e quebrado por um outro pedaço de código. Seu código vem em Nice, discretos, pedaços gerenciáveis. Está manter complexidade ao mínimo. Você cometer menos erros. Você economiza dinheiro. Você ajuda a promover a paz mundial.
Você pode encontrar muitos exemplos do uso de campos privados. Quando um campo é declarado privada, está escondido de todos intromissão externa. Isto aumenta a modularidade esconderijo, minimiza a complexidade, e assim por diante.
Em outros lugares são exemplos de coisas que são declaradas público. Assim como uma celebridade pública, um campo que é declarado público é deixada aberta. Muitas pessoas provavelmente sabe que tipo de creme dental Elvis utilizado, e qualquer programador pode fazer referência a um campo público, mesmo um campo que não é nomeado Elvis.
Em Java, as palavras público e privado são chamados modificadores de acesso. Sem dúvida você já viu campos e métodos sem modificadores de acesso nas suas declarações. Um método ou campo deste tipo é dito ter acesso predefinido. Muitos exemplos usam acesso padrão sem fazer um grande barulho sobre isso. Tudo bem, às vezes.
E você pode descobrir mais sobre mais um modificador de acesso. É o protegido modificador de acesso. Em Java, o acesso padrão para um membro de uma classe é acesso a todo o pacote. Um membro declarados sem a palavra público, privado, ou protegido na frente dele está acessível no pacote no qual sua classe reside.
Os nomes dos pacotes, com todos os seus pontos e sub-partes, pode ser um pouco enganador. Por exemplo, quando você escrever um programa que responde a cliques de botão, você normalmente importar classes de dois pacotes separados. Em uma linha, você pode ter import java.awt. * -. Em outra linha, você pode ter importar java.awt.event. * -. Importação de todas as classes da java.awt pacote não importar automaticamente as classes do java.awt.event pacote.