Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Modificadores de Acesso em Java: Tipos, Regras e Exemplos Práticos

Modificadores de Acesso em Java

Este tutorial explora os modificadores de acesso do Java, seus quatro tipos e demonstra seu uso através de exemplos claros.

O que são Modificadores de Acesso?

Em Java, os modificadores de acesso definem a visibilidade de classes, interfaces, variáveis, métodos, construtores e membros de dados. Por exemplo:

class Animal { public void metodo1() {...} private void metodo2() {...} }

No exemplo acima, metodo1 é public – acessível de qualquer classe. metodo2 é private – restrito à classe que o declara.

Estas palavras-chave – public e private – são os modificadores de visibilidade principais em Java.

Nota: Métodos getter não podem ser declarados com um modificador de acesso.


Tipos de Modificadores de Acesso

Antes de mergulhar nos modificadores, certifique-se de entender pacotes em Java.

O Java oferece quatro modificadores de visibilidade principais:

ModificadorDescrição
Default (package‑private)Visível apenas dentro do mesmo pacote.
PrivateVisível exclusivamente dentro da classe declarante.
ProtectedVisível dentro do pacote e para subclasses em outros pacotes.
PublicVisível em todo lugar.

Modificador de Acesso Default

Quando nenhum modificador é especificado, o Java aplica a visibilidade default (package‑private). Por exemplo:

package pacoteDefault; class Logger { void mensagem() { System.out.println("Esta é uma mensagem"); } }

A classe Logger é acessível apenas para classes dentro de pacoteDefault. Usá-la a partir de outro pacote resulta em erro de compilação.


Modificador de Acesso Private

Declarar um membro como private restringe seu acesso à classe que o contém:

class Dados { private String nome; } public class Main { public static void main(String[] args) { Dados d = new Dados(); d.nome = "Programiz"; // ❌ erro de compilação } }

O erro ocorre porque nome é privado à classe Dados. Para expô-lo com segurança, forneça métodos acessores:

class Dados { private String nome; public String getNome() { return this.nome; } public void setNome(String nome) { this.nome = nome; } } public class Main { public static void main(String[] args) { Dados d = new Dados(); d.setNome("Programiz"); System.out.println(d.getNome()); } }

Saída:

O nome é Programiz

Observe que classes aninhadas podem ser declaradas private, mas classes e interfaces de nível superior não podem.

Nota: Java não permite que classes ou interfaces de nível superior sejam private.


Modificador de Acesso Protected

Membros marcados como protected são visíveis dentro do mesmo pacote e para subclasses em outros pacotes. Exemplo:

class Animal { protected void exibir() { System.out.println("Sou um animal"); } } class Cachorro extends Animal { public static void main(String[] args) { Cachorro c = new Cachorro(); c.exibir(); // ✅ permitido } }

Saída:

Sou um animal

Membros protected não podem ser declarados em classes ou interfaces de nível superior.

Nota: Classes e interfaces de nível superior não podem ser protected.


Modificador de Acesso Public

Membros declarados public são universalmente acessíveis:

// Animal.java public class Animal { public int qtdPatas; public void exibir() { System.out.println("Sou um animal."); System.out.println("Tenho " + qtdPatas + " patas."); } } // Main.java public class Main { public static void main(String[] args) { Animal animal = new Animal(); animal.qtdPatas = 4; animal.exibir(); } }

Saída:

Sou um animal. Tenho 4 patas.

Resumo: Animal (classe pública), qtdPatas (campo público) e exibir() (método público) são todos acessíveis a partir de Main.


Modificadores de Acesso Resumidos em Uma Figura

Modificadores de Acesso em Java: Tipos, Regras e Exemplos Práticos

Os modificadores de acesso fundamentam o encapsulamento, permitindo que desenvolvedores controlem a visibilidade e protejam a integridade dos dados. Para mais sobre encapsulamento, veja Encapsulamento em Java.

Java

  1. Entendendo Modificadores de Acesso em C#: Public, Private, Protected, Internal e Mais
  2. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  3. Comentários em Java: Tipos, Uso e Boas Práticas
  4. Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
  5. Dominando Strings em Java: Criação, Métodos e Boas Práticas
  6. Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
  7. Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
  8. Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
  9. Anotações em Java Explicadas: Tipos, Posicionamento e Exemplos Práticos
  10. Asserções em Java: Guia Prático para Detectar Bugs e Garantir Confiabilidade do Código