modificadores javamodificadores java

Os modificadores de acesso controlam quem pode acessar atributos, métodos e classes dentro de um programa Java.

Eles são fundamentais para aplicar o princípio do encapsulamento, protegendo os dados e permitindo que apenas partes autorizadas do sistema possam acessá-los.

Java possui quatro níveis de acesso.

ModificadorMesma classeMesmo pacoteSubclasseOutros pacotes
private
default
protected✘*
public

*protected pode ser acessado por subclasses localizadas em outros pacotes.

private

O modificador private restringe completamente o acesso ao próprio objeto.

É utilizado principalmente para atributos, garantindo que eles só possam ser alterados através de métodos (getters e setters).

Exemplo:

public class Conta { 
 private double saldo; 

 public void depositar(double valor){ 
  saldo += valor; 
 } 
 
 public double getSaldo(){ 
  return saldo; 
 } 
}

Neste exemplo, ninguém consegue alterar diretamente a variável saldo.

default (sem modificador)

Quando nenhum modificador é informado, o acesso fica restrito ao mesmo pacote.

class Produto{

    String nome;

}

Essa classe somente poderá ser utilizada por outras classes pertencentes ao mesmo pacote.

protected

Permite acesso:

  • dentro da própria classe;
  • classes do mesmo pacote;
  • subclasses.
public class Animal{

    protected String nome;

}

Uma classe Cachorro pode acessar o atributo nome caso herde de Animal.

public class Cachorro extends Animal{

    public void mostrar(){
        System.out.println(nome);
    }

}

public

É o modificador mais permissivo.

Qualquer classe do projeto pode acessar membros públicos.

public class Calculadora{

    public int somar(int a, int b){
        return a+b;
    }

}

Comparação prática

Imagine uma universidade.

  • public → Biblioteca aberta para todos.
  • protected → Sala disponível apenas para professores e seus assistentes.
  • default → Sala acessível apenas por membros daquele departamento.
  • private → Armário pessoal do professor.

Boas práticas

  • Sempre utilize atributos privados.
  • Exponha apenas os métodos necessários.
  • Evite tornar atributos públicos.
  • Utilize getters e setters quando necessário.

Exercício para praticar

Crie uma classe Pessoa contendo:

  • nome (private)
  • idade (private)

Implemente:

  • getters
  • setters
  • método exibirDados()

By Infodiversao

Adoro tecnologia e informação. Gosto de jogos eletrônicos e de esportes. Desejo que todos tenham uma ótima vida!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *