Modificadores de Acesso

Rafael Sermenho
Training Center
Published in
3 min readMay 16, 2016

--

Nem sempre é interessante expor seus métodos e atributos para qualquer pessoa que consuma suas classes, por isso existem os modificadores de acesso.

Modificadores de acesso são palavras-chave que garantem níveis de acesso aos atributos, métodos e classes.

Em Java, temos os seguintes modificadores de acesso:

  • Private
    É o modificador de acesso mais restritivo que existe. Atributos e métodos declarados como private são acessíveis somente pela classe que os declara.
    Em UML, é definido pelo símbolo “-”.
    Métodos e atributos com o modificador private não são herdados.
Exemplo de classe com o atributo nome usando o modificador private.
  • Protected
    É um modificador de acesso um pouco mais permissivo que o private. Atributos e métodos declarados como protected são acessíveis pela classe que os declara, suas subclasses em outros pacotes e outras classes dentro do mesmo pacote.
    Em UML, é definido pelo símbolo “#”.
    Métodos e atributos declarados com o modificador protected numa superclasse devem ser definidos como protected ou public em suas subclasses e nunca private.
Neste exemplo o método definirPeso( )é visível na subclasse “Pessoa Física” e na classe “Diretoria” que está no mesmo pacote.
  • Public
    Modificador de acesso mais permissivo que existe. Atributos, métodos e classes declarados como public são acessíveis por qualquer classe do Java.
    Em UML, é definido pelo símbolo “+”.
    Todos os métodos e atributos declarados como public são herdados pelas subclasses.
    Métodos e atributos declarados como public devem se manter public em todas as subclasses.
Neste exemplo, o método getNome() é visível por qualquer outra classe.
  • Default
    Modificador de acesso padrão, usado quando nenhum for definido. Neste caso os atributos, métodos e classes são visíveis por todas as classes dentro do mesmo pacote.
    Em UML, é definido pelo símbolo “~” (package visibility).
Neste exemplo, o atributo descrição da classe “DIretoria” é visível por todas as classes dentro do mesmo pacote.

Gostou do texto? Então clique no botão Recommend, logo abaixo.
Fazendo isso, você ajuda esta história a ser encontrada por mais pessoas. Seu comentário também é bem-vindo.

--

--