DC-UFRPE/Licenciatura Plena em Computação/Programação II/Modificadores
Modificadores
[editar | editar código-fonte]Na programação orientada a objetos, os modificadores são palavras-chave que são usadas para modificar o comportamento padrão de uma classe, método ou variável. Eles permitem que você controle como uma classe, método ou variável é acessada ou modificado de outras partes do programa.
Modificadores de acesso
[editar | editar código-fonte]Os modificadores de acesso são usados para controlar o acesso às classes, métodos e variáveis. Existem quatro tipos de modificadores de acesso em Java:
- public: permite que a classe, método ou variável seja acessada de qualquer lugar do programa.
- private: restringe o acesso à classe, método ou variável apenas ao escopo da classe em que foi definido.
- protected: permite que a classe, método ou variável seja acessado por outras classes no mesmo pacote ou por subclasses, independentemente do pacote em que estão definidas.
- default (sem modificador): restringe o acesso à classe, método ou variável apenas ao escopo do pacote em que foi definido.
A tabela a seguir resume os níveis de acesso para cada modificador:
Modificador | Classe | Variável | Método |
---|---|---|---|
public | Sim | Sim | Sim |
private | Não | Sim | Sim |
protected | Não | Sim | Sim |
default | Sim | Sim | Sim |
Modificadores de não acesso
[editar | editar código-fonte]Os modificadores de não acesso são usados para modificar outras propriedades de uma classe, método ou variável. Existem vários tipos de modificadores de não acesso em Java:
- static: indica que a variável ou método pertence à classe em vez de uma instância da classe.
- final: indica que a variável ou método é imutável, ou seja, não pode ser alterado depois que é inicializado.
- abstract: indica que o método ou classe é abstrato, ou seja, não possui implementação e deve ser implementado por subclasses.
- synchronized: indica que o método é sincronizado, ou seja, apenas uma thread pode acessá-lo de cada vez.
- transient: indica que a variável não deve ser serializada quando a classe é serializada.
- volatile: indica que a variável pode ser modificada por várias threads e deve ser sincronizada para garantir que todas as threads acessem o mesmo valor atualizado.
Exemplo de uso de modificadores em Java
[editar | editar código-fonte]A seguir, um exemplo de uso de modificadores em Java para definir uma classe com um método e uma variável:
public class ExemploModificadores {
private int contador = 0;
public void incrementar() {
contador++;
}
public int getContador() {
return contador;
}
}
Neste exemplo, a classe ExemploModificadores
é definida como pública, permitindo que ela seja acessada de qualquer lugar do programa. A variável contador
é definida como privada, o que significa que ela só pode ser acessada dentro da classe. O método incrementar
é definido como público, permitindo que ele seja acessado de qualquer lugar do programa, mas só pode ser usado para alterar o valor da variável contador
. O método getContador
é definido como público, permitindo que ele seja acessado de qualquer lugar do programa e usado para retornar o valor da variável contador
.