Alguem poderia me dar uma dica sobre modificadores de acesso?! Vejam se estou certa…e corrijam-me se eu estiver errada. Ok?
Modificadores de acesso para variaveis e constantes de uma classe:
Public - O atributo se torna visivel para as outras classes
Protect - O atributo se torna visivel apenas para os outros membros da propria classe
Private - O atributo se torna visivel para as subclasses e classes do mesmo pacote.
Static - Nao sei se pode
Final - Nao sei se pode Falta mais algum aqui?! :shock:
Modificadores de acesso para Classes:
Public - Nao sei
Protect - Nao sei
Private - Nao sei Falta mais algum aqui?! :shock:
Modificadores de acesso para Metodos:
Public - Define que o metodo tem visibilidade global
Protect - Define que o metodo tem visibilidade restrita ao pacote e 'as sobclasses
Private - Define que o metodo tem visibilidade restrita 'a classe Falta mais algum aqui?! :shock:
Você confundiu private com protected na primeira parte.
É assim:
Para membros de classes - métodos e variáveis (por ordem do menos visível ao mais visível):
private: não pode ser acessado por nenhuma outra classe.
default (não declarando explicitamente nenhum dos outros modificadores): acessível somente por classes do mesmo pacote.
protected: acessível por classes do mesmo pacote ou através de herança.
public: quaquer classe pode acessar
Classes externas só podem ser public ou default, mas as internas seguem mais ou menos igual aos de membros de classes.
Além desses modificadores de acesso, tem mais um monte de modificadores possíveis, por exemplo:
abstract: classe que não pode ser instanciada ou método que precisa ser implementado por uma subclasse não abstrata
final: impossibilita que uma classe seja estendida, que um método seja sobrescrito ou que uma variável seja reinicializada
native: indica que um método está escrito em uma linguagem dependente de plataforma
static: faz um método ou variável pertencer à classe ao invés de às instâncias
strictfp: usado em frente a um método ou classe para indicar que os números de ponto flutuante seguirão as regras de ponto flutuante em todas as expressões
synchronized: indica que um método só pode ser acessado por uma thread de cada vez
transient: impede a serialização de campos
volatile: indica que uma variável pode ser alterada durante o uso de threads