modificadores de acesso - psi2016esflg.files.wordpress.com · numa declaração com o modificador...

21
Modificadores de Acesso JAVA

Upload: ledat

Post on 16-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Modificadores de AcessoJAVA

Definição

Os modificadores de acesso são padrões devisibilidade de acessos às classes, atributos emétodos.

Esses modificadores são palavras-chavereservadas do Java.

E as palavras reservadas não podem serusadas como nome de métodos, classes ouatributos.

Definição

Java fornece mecanismos de controlo de

acesso (ou visibilidade) quer para os

packages (que contêm conjuntos de

classes), quer para as classes individuais,

quer para cada um dos membros destas

(atributos e métodos), quer para Classes

Abstratas e Interfaces.

Definição

Estes mecanismos de controlo de acesso

especificam quem tem acesso às

entidades definidas.

Modificadores de acesso para classes

Modificador Acessível a partir do código de

public Qualquer classe

protected (*)

private (*)

nenhum Classes dentro do seu package

(*) Classes do tipo private e protected são, em JAVA, classes especiais

(* inner classes) que são usadas na implementação de classes predefinidas

Complexas do JAVA.

Modificadores de acesso para

atributos e métodos

Modificador Acessível a partir do código de

Public Qualquer classe

protected

Própria classe, qualquer classe

dentro do mesmo package e

qualquer subclasse

Private Própria classe

nenhum Própria classe e classes dentro do

mesmo package

PUBLIC

Numa declaração com o modificador

public o elemento pode ser acedido de

qualquer lugar e por qualquer entidade

que possa visualizar a classe a que ela

pertence.

PROTECTED

O modificador protected torna o membro

acessível às classes do mesmo package.

Porém, através de herança, os seus

membros herdados não são acessíveis a

outras classes fora do package em que

foram declarados.

PRIVATE

Os membros de uma classe definidos comoPRIVATE não podem ser acedidos ou usadospor nenhuma outra classe.

Este modificador não se aplica às classes,aplica-se apenas aos métodos e atributos.

Os atributos e métodos PRIVATE tambémnão podem ser visualizados pelas classesherdadas.

Default (definido por omissão)

Nenhum modificador é declarado.

A classe e/ou os seus membros são

acessíveis somente por classes do mesmo

package.

Na sua declaração não é definido

nenhum tipo de modificador, sendo este

identificado pelo compilador.

ATRIBUTOS E MÉTODOS DE

CLASSEO modificador STATIC

O significa static em Java

Pelo nome, percebe-se que está relacionado

com algo constante, algo parado, estático.

Quando definimos uma classe e criamos vários

objetos dela, já sabemos que cada objeto irá

ser uma cópia fiel da classe, porém com as suas

próprias variáveis e métodos em lugares

distintos da memória.

Exemplo

Ou seja, o objeto 'porsche' tem as suas variáveis

próprias, diferentes do objeto 'ferrari', embora

ambos tenham o mesmo 'modelo', que é a

classe 'Carro'.

Significa que…

Quando definimos atributos (variáveis) com a

palavra static, dentro de uma classe, eles terão

um comportamento especial:

Terão sempre o mesmo valor, para todos osobjetos dessa classe.

Ou seja…

Ou seja, não haverá um tipo desse atributo

em cada objeto.

Todos os objetos, ao acederem e modificarem

a essa variável, acedem à mesma variável, ao

mesmo espaço da memória, e a mudança

será vista em todos os objetos.

Não esquecer que…

Quando o seu conteúdo é modificado numa

das instâncias (no objeto), a modificação

ocorre em todas as outras instâncias (dos outros

objetos).

Como declarar uma variável static em Java

Basta colocar a palavra static antes do tipo:

static tipo nomeDaVariavel

Dentro da classe:

static int vendidos;

static int totalAlunos;

Métodos static

Também é possível colocar o modificador static

em métodos – chamados métodos da classe.

Como chamar atributos e métodos

estáticos

Devem ser chamados através do nome da

classe a que pertencem e não através do

nome do objeto ou da palavra this.

Exemplo

Para a seguinte classe.

O atributo valeRefeicaoDiario deve ser chamado assim:

Fontes de informação

https://www.devmedia.com.br/metodos-atributos-e-

classes-no-java/25404