DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

Modificadores de acesso da linguagem Java

Tipos de Modificadores:

  • public: Permite o acesso de membros de uma classe por qualquer código do programa, incluindo métodos de outras classes.
  • private: Restringe o acesso de membros para dentro da própria classe, impedindo métodos de outras classes de acessá-los diretamente.
  • protected: Usado em herança, será abordado no Capítulo 8.
  • Acesso padrão: Se nenhum modificador for usado, o acesso é igual ao public, exceto em casos que envolvem pacotes.

Exemplos de Modificadores:
Exemplos de como usar public e private na declaração de membros:

  • public String errMsg;
  • private accountBalance bal;
  • private boolean isError(byte status) { // ... }

Demonstração Prática:
Controle de Acesso em uma Classe:

  • Membros privados, como alpha em MyClass, só podem ser acessados por métodos da própria classe.
  • Acesso a membros privados por métodos públicos através de métodos acessadores (getAlpha() e setAlpha()).
  • Tentativas de acesso direto a membros privados de outra classe resultarão em erro de compilação.
class MyClass {
    private int alpha; // acesso privado
    public int beta;   // acesso público
    int gamma;         // acesso padrão (equivalente a public neste contexto)

    // Métodos para acessar alpha
    void setAlpha(int a) {
        alpha = a;
    }

    int getAlpha() {
        return alpha;
    }
}

Enter fullscreen mode Exit fullscreen mode

Exemplo de Uso: Classe AccessDemo.java

Resultado:

  • O acesso ao membro privado alpha só pode ser feito através dos métodos públicos setAlpha() e getAlpha().
  • Acesso direto a alpha fora da classe MyClass é proibido, resultando em erro de compilação.

Exemplo: FailSoftArray:

  • Implementa um array "resistente a falhas", onde o array é encapsulado como membro privado, acessado apenas por métodos públicos.
  • Encapsulamento: Protege o array de acessos fora dos limites, prevenindo exceções de tempo de execução.
  • Membros Privados: a, errval, e indexOK() são privados, protegendo a integridade do array.
  • Membro Público: length é público, permitindo a consulta do tamanho do array, similar à implementação de arrays padrão em Java.
  • Metodos Públicos: put() e get() são usados para armazenar e recuperar valores do array, controlando o acesso de forma segura.

Conclusão:
O controle de acesso é fundamental para uma programação orientada a objetos bem-sucedida, especialmente ao lidar com herança e garantir a integridade dos dados.

Resultado:
O array "resistente a falhas" evita erros de tempo de execução ao tentar acessar índices fora dos limites.
Acesso aos elementos do array é feito de forma segura através dos métodos públicos get() e put(), com verificação de limite.
O programa exibe falhas silenciosas e depois trata as falhas explicitamente, mostrando quando os índices estão fora dos limites.
Esses exemplos ilustram como os modificadores de acesso em Java (public, private, e acesso padrão) são aplicados para controlar o acesso a membros de uma classe e garantir a integridade e segurança dos dados.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay