Conteúdo do Curso
Java Avançado
Java Avançado
Modificadores de Acesso
Modificadores de acesso em Java são palavras-chave que determinam a acessibilidade de classes, variáveis, métodos e construtores. Veja uma breve explicação dos quatro modificadores de acesso:
Public
O modificador public
permite acesso irrestrito à classe, variável, método ou construtor. Pode ser acessado de qualquer lugar do programa, inclusive de fora da classe e em outros pacotes.
Private
O modificador private
restringe o acesso apenas à própria classe. Garante que o membro não seja acessível por nenhuma outra classe, incluindo subclasses e outros pacotes.
Protected
O modificador protected
permite acesso dentro da mesma classe, subclasses e outras classes no mesmo pacote. Oferece um nível de acesso mais restrito que public, mas menos restrito que private.
Package-private
Se o modificador de acesso não for especificado, é considerado o nível de acesso padrão. O modificador padrão permite acesso dentro do mesmo pacote, mas restringe o acesso de fora do pacote.
Vamos falar sobre imports. Modificadores de acesso determinam principalmente onde eles podem ser importados no programa. Veja a tabela que mostra onde é possível acessar um campo/método/classe marcado com um modificador de acesso específico:
Vamos analisar cada modificador de acesso em mais detalhes:
public
- com este modificador de acesso, é possível acessar o objeto de qualquer lugar;protected
- é possível acessar objetos com este modificador de acesso a partir da classe em que o objeto está localizado, do pacote em que o arquivo com esta classe está localizado e de subclasses (iremos explorar esses tópicos em mais detalhes em um curso separado);package private
ou padrão - é possível acessar objetos com este modificador de acesso a partir da classe em que o objeto está localizado e do pacote em que o arquivo com esta classe está localizado;private
- só é possível acessar objetos com este modificador de acesso a partir da classe em que o objeto é instanciado.
1. O que o modificador de acesso private
faz em Java?
2. Qual é o nível de acesso padrão em Java se nenhum modificador de acesso for especificado?
Obrigado pelo seu feedback!