Saltar para o conteúdo

DC-UFRPE/Licenciatura Plena em Computação/Programação II/Modificadores

Fonte: Wikiversidade

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.

Links externos

[editar | editar código-fonte]