java básico :: modificadores de acesso
DESCRIPTION
Material do curso de Java Básico da WBezerra Slide sobre a utilização de modificadores de acesso em JavaTRANSCRIPT
![Page 1: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/1.jpg)
Java B sico áJava B sico áModificadores de AcessoModificadores de Acesso
Prof. Wesley R. Bezerra
![Page 2: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/2.jpg)
Roteiro
• Escopos de acesso• Modificadores que implicam no uso• Modificadores relacionados a threads• Outros modificadores
![Page 3: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/3.jpg)
Objetivo
• Conhecer os modificadores de acesso existentes na linguagem Java, possibilitando assim, ter acesso a um código com mais recursos.
![Page 4: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/4.jpg)
Escopos de acesso
• Modificadores que alteram as permissões de acesso entre os elementos das classes e objetos.PublicPrivateProtectedFriend
![Page 5: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/5.jpg)
Public
• Permite que qualquer classe tenha acesso ao atributo ou método declarado sob este escopo.
![Page 6: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/6.jpg)
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.
![Page 7: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/7.jpg)
Protected
• Restringe o acesso aos atributos/métodos somente a classe onde esta estes estão declarados e as classes filhas(subclasses).
![Page 8: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/8.jpg)
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.
![Page 9: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/9.jpg)
Modif icadores que implicam no uso• Modificadores que implicam no uso dos elementos
de uma classe ou na herança.AbstractStaticFinal
![Page 10: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/10.jpg)
• 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.
![Page 11: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/11.jpg)
• 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.
![Page 12: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/12.jpg)
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.
![Page 13: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/13.jpg)
• 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.
![Page 14: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/14.jpg)
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.
![Page 15: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/15.jpg)
Modif icadores relacionados a threads• Modificadores utilizados em thread para evitar erros
pelo processamento paralelo ou ainda compartilhar atributos entre as varias threads.VolatileSynchronized
![Page 16: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/16.jpg)
Volatile
• Indica que um valor de uma variável será alterado simultaneamente pelas varias linhas de execuções (Thread) que estiverem rodando.
![Page 17: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/17.jpg)
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.
![Page 18: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/18.jpg)
Outros modif icadores
• Outros modificadores que não estão agrupados.nativetransient
![Page 19: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/19.jpg)
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.
![Page 20: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/20.jpg)
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
![Page 21: Java Básico :: Modificadores de acesso](https://reader031.vdocuments.site/reader031/viewer/2022020101/559e7ac41a28abea318b4702/html5/thumbnails/21.jpg)
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.