Dicas de Java I – Modificadores de Acesso

Olá pessoal.

Vou começar uma série de posts com dicas para quem está iniciando em java. Pretendo abordar também alguns conceitos sobre Orientação à Objeto, já que esse paradigma hoje é o que domina o mercado.

Pois bem, neste primeiro post da série vou falar sobre os modificadores de acesso do java: public, private, protected e default e alguns outros modificadores que não se referem a acesso: final, abastract e static.

Um modificador de acesso determina como será a visibilidade de uma classe, atributo ou método a partir de outras classes ou métodos.  Alguns modificadores podem ser usados para os esses três itens, porém outros podem ser específicos para as classe , por exemplo.

Modificadores de Acesso

  • 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. Lembre-se porém que classes de diferentes pacotes precisam ser importadas para poderem ter visibilidade (assunto para um outro post).  O mesmo se aplica aos membros da classe (métodos e atributos) que se forem declarados como públicos também são visíveis em todas as classes de todos os pacotes. Por exemplo: Imagine duas classes A e B, ambas públicas, nesse cenário você consegue instanciar um objeto do tipo B na classe A e acessar os membros da classe B.
  • private: O membro da classe não pode ser acessado por nenhuma outra classe, quando é declarado private. Como não é visto pelas subclasses, não se aplica regras de overriding. Esse modificador não se aplica a classes,  somente a seus membros (métodos e atributos) .
  • protected: Quando um membro da classe é declarado assim, ele se torna acessível por classes do mesmo pacote ou através de herança. Os membros herdados não são acessíveis a outras classes fora do pacote em que foram declarados. Você só pode usar esse modificador em métodos e atributos.
  • default (padrão): A classe e/ou seus  membros são acessíveis somente por classes do mesmo pacote.

Tabela resumo dos modificadores de acesso

private default protected public
mesma classe sim sim sim sim
mesmo pacote não sim sim sim
pacotes diferentes (sendo

subclasses)

não não sim * sim
pacotes diferentes (não

sendo subclasses)

não não não sim

* através da herança

Outros modificadores de acesso

  • final: Quando é aplicado à classe não permite estende-lá, nos métodos impede que o mesmo seja sobrescrito (overriding) na subclasse, já nas variáveis impossibilita que essa seja reinicializada com outro valor.
  • abstract: Classes declaradas como abstratas provém um modo de adiar a implementação de métodos também declarados como abstratos para subclasses. Uma classe abstrata não pode ser instanciada, ou seja, não podemos chamar os seus construtores. A primeira classe não abstrata que estender a classe abstrata deverá implementar todos os métodos abstratos herdados, esse modificador não se aplica à variáveis.
  • static: Variáveis e métodos marcados como static pertencem à classe, ao invés de alguma instância dessa, esse modificador não se aplica a classes.

Esses foram os modificadores de acesso em java, num próximo post estarei mostrando outras dicas relativas à linguagem. Seu feed-back é muito importante, não deixe de comentar suas dúvidas e opniões.

Até a próxima.

Anúncios

6 Responses to Dicas de Java I – Modificadores de Acesso

  1. Igor disse:

    Fala Marcelo, blz!? poderia mostra alguns exemplos de classes abstract… agradeço a atenção e valeu pelos post tão ajudando muit… 😀 Flw

  2. Marcelo Carvalheiro disse:

    Olá Igor, com certeza posso colocar sim. Inclusive vou fazer um post sobre esse assunto.

  3. bokerao disse:

    Marcelo, parabéns pelo post. É um ótimo resumo de parte do primeiro capítulo do livro SCJP!

  4. Marcelo Carvalheiro disse:

    Essas dicas foram baseadas no curso que eu dou de Java na Universidade de Fortaleza (UNIFOR), que dentre outras fontes está o livro de SCJP. Obrigado.

  5. Paulo disse:

    Texto muito bom. Esclareceu todas as dúvidas que eu tinha.

  6. Marcelo Carvalheiro disse:

    Obrigado.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: