O controle de acesso
em Java é divido em quatro controles de acesso (níveis de acesso), mas apenas
três modificadores de acesso (public, protect, private). O quarto nível de
controle de acesso é o que você obtém quando não usa nenhum dos três
modificadores de acesso (default). Toda classe, método e variável de instancia
que você declarar tem um controle de acesso, porem no caso de classes
utilizamos apenas os tipos default e public.
Acesso a classes
Quando dizemos que
uma determinada classe A tem acesso a outra classe B isso que dizer que a
classe A pode:
- Criar uma instancia da classe B.
- Estender a classe B.
- Acessar métodos e variáveis da classe B dependendo do controle de
acesso desses métodos e variáveis.
As classes só podem
possuir ou acesso default ou publico:
- Para declarar uma classe como default basta não especificar o
modificador, está classe só poderá ser acessada por classes no mesmo
pacote.
- class Cachorro{...}
- Para declarar uma classe como publica digite a palavra chave public
antes do nome da classe, com isso todas as classe conseguem acessar está
classe. Se a classe publica estiver em um pacote diferente da classe que
tenta acessa-la não será necessário import da classe antes de acessa-la.
- public class Cachorro{...}
Existem outros
modificadores de classes que não são referentes a acesso esses modificadores de
acesso existem e adição aos controladores de acesso.
- final a palavra-chave final significa que a
classe em questão não pode ser sub-classificada ou seja nenhuma outra
classe pode estender(herdar) uma classe final. Você só deve marcar uma
classe como final se tiver certeza que nunca os métodos dessa classe
deverão ser substituído(Eu nunca criei uma classe como final).
- abstract a palavra-chave abstract significa que
a classe não pode ser instanciada(new) nunca o único propósito de uma
classe abstrata é ser estendida. As classes abstratas são muito utilizadas
para o polimorfismo e dão um maior grau de flexibilidade e
extensibilidade.
Não é possível é possível
marcar uma classe como abstract e final ao mesmo tempo, pois enquanto a classe
final não pode ser sub-classificada, a classe abstract deve ser classificada.
Para concluir criei um post Modificadores de Acesso na pratica, que mostra como estes conceitos funcionam na pratica.
Para concluir criei um post Modificadores de Acesso na pratica, que mostra como estes conceitos funcionam na pratica.
Para a declaração de modificadores de acesso de métodos e variáveis veja o post Modificadores de Acesso á Métodos e Variáveis
Qualquer problema, duvida, comentário ou caso tenham algo a acrescentar fiquem a vontade.
Grato pela atenção,
Att,
Diego
Nenhum comentário:
Postar um comentário