Java Básico :: Modificadores de acesso

Preview:

DESCRIPTION

Material do curso de Java Básico da WBezerra Slide sobre a utilização de modificadores de acesso em Java

Citation preview

Java B sico áJava B sico áModificadores de AcessoModificadores de Acesso

Prof. Wesley R. Bezerra

Roteiro

• Escopos de acesso• Modificadores que implicam no uso• Modificadores relacionados a threads• Outros modificadores

Objetivo

• Conhecer os modificadores de acesso existentes na linguagem Java, possibilitando assim, ter acesso a um código com mais recursos.

Escopos de acesso

• Modificadores que alteram as permissões de acesso entre os elementos das classes e objetos.PublicPrivateProtectedFriend

Public

• Permite que qualquer classe tenha acesso ao atributo ou método declarado sob este escopo.

Private

• Restringe o acesso a somente a classe onde o atributo ou método ou declarado, sendo que nem as subclasses desta classe terão acesso a estes.

Protected

• Restringe o acesso aos atributos/métodos somente a classe onde esta estes estão declarados e as classes filhas(subclasses).

Friend

• Permite o acesso aos atributos/métodos por todas as classes no mesmo pacote. Este tipo de acesso acontece quando não especificamos qual o modificador de acesso.

Modif icadores que implicam no uso• Modificadores que implicam no uso dos elementos

de uma classe ou na herança.AbstractStaticFinal

• Este modificador de acesso é aplicado a métodos e classes. Quando aplicado a um método, indica que este método deverá ser implementado futuramente, no momento da instanciação ou por uma subclasse.

• Uma classe que tenha um método abstrato deve ser declarada como uma classe abstrata.

• Classes abstratas não podem ser instanciadas diretamente, sendo que para instanciá-las devemos implementar no momento da instanciação o método abstrato.É mais comum utilizarmos as subclasses para instanciarmos objetos de classes abstratas.

Static

• Um método ou atributo declarado como static é chamado também de método/atributo da classe devido ao fato de não precisarmos instanciar um objeto para usarmos estes métodos/atributos, os utilizamos diretamente na classe.

• No entanto devemos ter alguns cuidados quando implementarmos métodos abstratos, como estamos definindo um método como abstrato ele só poderá ter acesso a variáveis locais, parâmetros e atributos estáticos.

Final

• Este modificador caracteriza que o que esta sob sua sombra não pode ser mudado. Pode ser aplicado para classes, atributos e métodos. Para classes indica que uma classe não poderá ser herdada, para atributos indica que o valor deste não mudará e para métodos indica que o métodos declarado como final não poderá ser sobrescrito.

Modif icadores relacionados a threads• Modificadores utilizados em thread para evitar erros

pelo processamento paralelo ou ainda compartilhar atributos entre as varias threads.VolatileSynchronized

Volatile

• Indica que um valor de uma variável será alterado simultaneamente pelas varias linhas de execuções (Thread) que estiverem rodando.

Synchronized

• Indica que a utilização de um métodos, ou a execução de um bloco, se dará de maneira síncrona pelas varias threads que estão ativas, sendo assim, somente uma thread pode executar por vez esta parte do código.

Outros modif icadores

• Outros modificadores que não estão agrupados.nativetransient

Native

• Indica que um método é nativo, ou seja, não faz parte de sua aplicação ou de qualquer biblioteca que sua aplicação incorpora, fazendo parte então do sistema operacional ou qualquer biblioteca instalada nele.

• Esta é a palavra chave que utilizamos quando queremos incorporar dlls, por exemplo, ao nosso programa.

Transient

• Indica que um atributo não sera serializada quando nosso código mandar serializar o objeto que a contem. Dizemos que o valor desta variável é transitório, ou seja, não é necessário guardá-lo

Conclus oã

• Os modificadores de acesso nos permite ter um maior poder sobre o código gerado, através de palavras-chave que passamos para o compilador, aumentando assim as capacidades de nosso programa através destes recursos.

ObrigadoObrigado

Duvidas e sugestõeswesleybez@yahoo.com.br

Recommended