Anúncios

Java fornece um número de modificadores de acesso para definir os níveis de acesso de classes, variáveis, métodos e construtores. Os quatro níveis de acesso São −

  • visíveis para o pacote, o padrão. Não são necessários modificadores.
  • visível apenas para a classe (privado).
  • visível ao mundo (Público).
  • visível para a embalagem e todas as subclasses (protegidas).,

modificador de acesso por omissão – Sem Palavra-chave

modificador de acesso por omissão significa que não declaramos explicitamente um modificador de Acesso para uma classe, campo, Método, etc.

uma variável ou método declarado sem qualquer modificador de controle de acesso está disponível para qualquer outra classe no mesmo pacote. Os campos em uma interface são implicitamente público estático final e os métodos em uma interface são por padrão público.,

Exemplo

Variáveis e métodos podem ser declaradas sem quaisquer modificadores, como nos exemplos a seguir −

String version = "1.5.1";boolean processOrder() { return true;}

Acesso Privado Modificador Private

Métodos, variáveis, e os construtores que são declaradas privado só pode ser acessado dentro da declarado própria classe.

O modificador de acesso privado é o nível de acesso mais restritivo. A classe e as interfaces não podem ser privadas.

variáveis declaradas privadas podem ser acessadas fora da classe, se os métodos de getter públicos estiverem presentes na classe.,

usar o modificador privado é a principal maneira que um objeto se encapsula e esconde dados do mundo exterior.

exemplo

a seguinte classe usa o controlo de acesso privado −

aqui, a variável de formato da classe Logger é privada, por isso não há forma de outras classes recuperarem ou definirem o seu valor directamente.

Então, para fazer esta variável disponível para o mundo exterior, definimos dois métodos públicos: getFormat(), que retorna o valor do formato, e setFormat(String), que define o seu valor.,

Modificador De Acesso Público-Público

a classe, método, construtor, interface, etc. o público declarado pode ser acessado a partir de qualquer outra classe. Portanto, campos, métodos, blocos declarados dentro de uma classe pública podem ser acessados a partir de qualquer classe pertencente ao universo Java.

no entanto, se a classe pública que estamos tentando acessar está em um pacote diferente, então a classe pública ainda precisa ser importada. Por causa da herança de classe, todos os métodos públicos e variáveis de uma classe são herdados por suas subclasses.,

exemplo

a seguinte função usa o controle de acesso público –

public static void main(String arguments) { // ...}

o principal() método de uma aplicação tem de ser público. Caso contrário, não poderia ser chamado por um interpretador Java (como java) para executar a classe.

as variáveis, métodos e construtores protegidos por um modificador de acesso protegido

, que são declarados protegidos em uma superclasse, só podem ser acessados pelas subclasses de outro pacote ou qualquer classe dentro do pacote da classe dos membros protegidos.

O modificador de acesso protegido não pode ser aplicado à classe e interfaces., Métodos, campos podem ser declarados protegidos, no entanto métodos e campos em uma interface não podem ser declarados protegidos.

O acesso protegido dá à subclasse uma chance de usar o método auxiliar ou variável, enquanto impede uma classe não relacionada de tentar usá-lo.

Exemplo

O seguinte classe pai usa protegido de controle de acesso, para permitir que a sua criança de substituição de classe openSpeaker() método −

class AudioPlayer { protected boolean openSpeaker(Speaker sp) { // implementation details }}class StreamingAudioPlayer extends AudioPlayer { boolean openSpeaker(Speaker sp) { // implementation details }}

Aqui, se definirmos openSpeaker() o método como private, então não seria acessível a partir de qualquer outra classe que não seja AudioPlayer., Se o definirmos como público, tornar-se-á Acessível a todo o mundo exterior. Mas a nossa intenção é expor este método apenas à sua subclasse, é por isso que temos usado modificador protegido.

Controle de acesso e herança

as seguintes regras para métodos herdados são aplicadas –

  • métodos declarados públicos numa superclasse também devem ser públicos em todas as subclasses.os métodos declarados protegidos numa superclasse devem ser protegidos ou públicos em subclasses; não podem ser privados.,os métodos professados como privados não são herdados, por isso não há regra para eles.

java_modifier_types.htm
Anúncios