Em Java, a visibilidade padrão de classes, atributos e métodos
está restrita a todos os membros que fazem parte de um mesmo pacote. A palavra-chave public
modifica essa visibilidade de forma a ampliá-la, deixando-a sem
restrições.
Uma classe definida como pública pode ser
utilizada por qualquer objeto de qualquer pacote. Em Java, uma
unidade de compilação (um arquivo fonte com extensão
.java
) pode ter no máximo uma classe pública, cujo nome
deve ser o mesmo do arquivo (sem a extensão). As demais classes na
unidade de compilação, não públicas, são consideradas classes de
suporte para a classe pública e têm a visibilidade padrão.
Um atributo público de uma classe pode ser diretamente acessado e manipulado por objetos de outras classes.
Um método público de uma classe pode ser aplicado a um objeto dessa classe a partir de qualquer outro objeto de outra classe. O conjunto de métodos públicos de uma classe determina o que pode ser feito com objetos da classe, ou seja, determina o seu comportamento.