Mas o que é um Modificador de Acesso?
Modificadores de Acesso são palavras chaves que definem uma Classe, Método e Variáveis de Instâncias.
Se por um acaso você estiver pensando em Tirar a Certificação Java para Programador (SCJP), é obrigatório que você saiba tudo a respeito sobre esses modificadores.
Eu disse que os modificadores são aplicáveis em Classes, Métodos, e Variáveis de Instância, e coloquei o ultimo em negrito propositalmente, porque uma coisa que confunde bastante é a definição de Variáveis Locais com Variáveis de Instância.
A Regra é simples.
Variáveis Locais: A Variável local é aquela que é declarada dentro do método.
Variáveis de Instância ou Atributos: São aquelas declaradas no escopo da classe
Exemplo.
Public class
Carro {
Private String = variávelDeInstancia; //Variável de Instância
Public String metodoAcelerar() {
Int variavelLocal = 10; //Variável Local
}
}
Agora enfim, vamos falar sobre os modificadores de acesso.
Existem 4 modificadores: Public, Private, Protected e Default
Em classes só podemos usar dois dos quatro modificadores (Default Public)
Em Métodos poderemos usar os 4.
As Regras dos modificadores são bem elaboradas, e isso faz com que fique muito extenso o POST, então, nesse, vou só falar um breve resumo de todos, e em outros POSTS descrevo cada um deles de forma completa.
Então la vai uma Visão Geral sobre eles:
Public: Visível em todas as classes do Projeto, SubClasses (classes que Herdam Membros de outra superior) tem acesso direto a métodos públicos da superclasse
Private: Só visível a classe ao qual pertence, outras classes e até mesmo subclasses não tem acesso.
Protected: Visível em todo o seu pacote, e nos outros pacotes somente por meio de herança. (Em breve criarei um POST sobre ele, é o Controle de acesso mais complexo)
Default: Visível somente em seu pacote. A diferença entre ele e o Protected está no fato do Defalut mesmo com herança não da acesso ao método, diferentemente do Protected.
Bom a regra básica é essa, mas é legal aprendermos isso vendo exemplos. Portanto me disponho a criar um POST para cada método e explica-los com detalhes.
Existem também outros modificadores, mais não são referentes a acesso como: Final, Abstract, Synchronized entre outros.. falaremos mais sobre eles também.
Bom pessoal é isso, espero ter colaborado um pouco. Em breve voltarei explicando melhor cada modificador.
Valeu Galera.
Nenhum comentário:
Postar um comentário