Modificadores de Acesso
Os modificadores de acesso são padrões de visibilidade de acessos às classes, atributos e métodos. Um modificador de acesso determina como será a visibilidade de uma classe, atributo ou método a partir de outras classes ou métodos.
Essa ação tem como efeito ajudar no encapsulamento dos dados, preservando ainda mais a segurança e a aplicação de programação orientada a objetos do Java.
Public: Uma classe declarada como pública dá as outras classes, de todos os pacotes, acesso aos seus membros que forem públicos também. Exemplo:
1.public class MinhaClasse { //classe public
2.private int inteiro; //atributo inteiro private
3.protected float decimal; //atributo float protected
4.boolean ativado; //atributo booleano package-private
5.}
Private: Os membros da classe definidos como não podem ser acessados ou usados por nenhuma outra classe. Esse modificador não se aplica às classes, somente para seus métodos e atributos. Esses atributos e métodos também não podem ser visualizados pelas classes herdadas.
Protected: Esse modificador torna o membro acessível às classes do mesmo pacote ou através de herança, seus membros herdados não são acessíveis a outras classes fora do pacote em que foram declarados.
Default (padrão): A classe e/ou seus membros são acessíveis somente por classes do mesmo pacote, na sua declaração não é definido nenhum tipo de modificador, sendo este identificado pelo compilador.
Outros modificadores:
Final: não permite estender a classe, nos métodos impede que o mesmo seja sobrescrito na subclasse, e nos valores de variáveis não pode ser alterado depois que já tenha sido atribuído um valor.
Abstract: Esse modificador não é aplicado nas variáveis, apenas nas classes. Uma classe abstrata não pode ser instanciada, ou seja, não pode ser chamada pelos seus construtores.
Static: É usado para a criação de uma variável que poderá ser acessada por todas as instâncias de objetos desta classe como uma