Pular para o conteúdo principal
Documentos
Palavras-chave JavaMatrizes JavaProgramação orientada a objetos em JavaManuseio de arquivos JavaIntrodução ao JavaNoções básicas da linguagem Java

Modificadores Java

Os modificadores Java são palavras-chave que você usa para alterar as propriedades de classes, métodos e variáveis. Eles definem a acessibilidade, o comportamento e o escopo desses componentes. Os modificadores são divididos em duas categorias: modificadores de acesso e modificadores sem acesso.

Modificadores de acesso

Os modificadores de acesso controlam a visibilidade de classes, métodos e variáveis. Os quatro modificadores de acesso em Java são:

  • public: O membro pode ser acessado de qualquer outra classe.
  • protegido: O membro pode ser acessado em seu próprio pacote e por subclasses.
  • padrão (sem palavra-chave): O membro pode ser acessado somente em seu próprio pacote.
  • particular: O membro pode ser acessado somente em sua própria classe.

Exemplo de modificadores de acesso


public class Example {
    public int publicVar;
    protected int protectedVar;
    int defaultVar; // default access
    private int privateVar;
    
    public void display() {
        System.out.println("Public Variable: " + publicVar);
        System.out.println("Protected Variable: " + protectedVar);
        System.out.println("Default Variable: " + defaultVar);
        System.out.println("Private Variable: " + privateVar);
    }
}

Neste exemplo, publicVar pode ser acessado de qualquer lugar, protectedVar pode ser acessado dentro do pacote e das subclasses, defaultVar pode ser acessado dentro do pacote e privateVar pode ser acessado somente dentro da classe Example.

Modificadores sem acesso

Os modificadores sem acesso oferecem funcionalidades adicionais, como controle de herança, garantia de imutabilidade e definição de propriedades especiais. Alguns modificadores comuns de não acesso são:

  • estático: Indica que o membro pertence à classe, e não a instâncias da classe.
  • final: Usado para declarar constantes, impedir a substituição de métodos e a herança.
  • abstrato: Usado para declarar classes e métodos abstratos.
  • sincronizado: Usado em multithreading para garantir que um método ou bloco seja acessado por apenas um thread de cada vez.
  • volátil: Garante que o valor de uma variável seja sempre lido da memória principal.
  • transitório: Evita a serialização de campos de classe.

Exemplo de modificadores de não acesso


public class NonAccessExample {
    public static final int CONSTANT = 100;

    public static void main(String[] args) {
        System.out.println("Constant Value: " + CONSTANT);
    }
}

Neste exemplo, CONSTANT é uma variável estática e final, o que significa que ela pertence à classe e não pode ser alterada.

Dicas e práticas recomendadas

  • Use os modificadores de acesso com sabedoria: Restrinja o acesso tanto quanto possível para proteger seus dados. Use private para campos, a menos que eles precisem ser acessados fora da classe.
  • Uso estático: Use static para métodos utilitários e constantes que não exijam o estado do objeto.
  • Final para constantes: Declare as constantes usando final e static para evitar modificações.
  • Classes abstratas: Use as classes abstract como classes de base que não devem ser instanciadas diretamente.
  • Sincronizado para segurança da rosca: Use o site synchronized para garantir a segurança da rosca quando necessário, mas esteja ciente dos possíveis impactos no desempenho.
  • Volátil para visibilidade: Use volatile para variáveis compartilhadas entre threads para garantir a visibilidade das alterações.
  • Transiente para serialização: Use transient para excluir campos da serialização quando eles não devem fazer parte do objeto serializado.

Learn Java Essentials

Desenvolva suas habilidades em Java desde o início e domine os conceitos de programação.
Comece a aprender de graça