CriandoBits
Identifique-se Entrar Esqueceu a senha? Esqueci minha senha

Java - Modificadores de acesso

Por Benedito Silva Júnior - publicado em 15/07/2016


Modificadores de acesso determinam 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.

Veja:

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.

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 (sobrescrição). 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.

public class MinhaClasse //classe do tipo pública

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. 

 
Voltar a pagina anteriorVoltarSubir ao topo da páginaTopo