objeto.membro
objeto.membro(args)
Controlando acesso aos membros:
- private: só a própria classe
- public: todas acessam
- package-private (sem modificador): só as do mesmo pacote
- protected: só as subclasses (herdeiras) e as do mesmo pacote
Resumindo:
Modifier | Class | Package | Subclass | World |
---|---|---|---|---|
public |
Y | Y | Y | Y |
protected |
Y | Y | Y | N |
no modifier | Y | Y | N | N |
private |
Y | N | N | N |
Dica: use o modificador mais restritivo que puder nas suas definições. Use public apenas para constantes. Relemebrando, constantes são static e final; seus nomes são escritos em MAIUSCULAS_COM_UNDERSCORE.
final: não pode ser alterado.
No caso de métodos, não pode ser redefinido por subclasses.
static: compartilhado entre todos os objetos da classe.
No caso de métodos, são os únicos que podem acessar campos estáticos diretamente. Acesso aos membros estáticos:
Classe.membro
Classe.membro(args)
Classes aninhadas: geralmente, as classes são declaradas no nível mais externo (top level). No entanto, classes podem ser declaradas como membros de outras classes. Estas classes têm acesso a todos os membros da classe onde estão, inclusive os privados.
Nenhum comentário:
Postar um comentário