A palavra-chave public
em Java é um modificador de acesso que define a visibilidade mais ampla possível para classes, métodos e variáveis. Membros marcados como public
podem ser acessados de qualquer lugar, tanto dentro do mesmo pacote quanto fora dele, sem restrições.
Sintaxe:
public class MinhaClasse {
public int idade; // Variável pública
public void exibirIdade() { // Método público
System.out.println("Idade: " + idade);
}
}
Posts recentes
Exemplo de Uso:
public class Pessoa {
public String nome; // Variável pública
public Pessoa(String nome) { // Construtor público
this.nome = nome;
}
public void dizerOla() { // Método público
System.out.println("Olá, meu nome é " + nome);
}
}
public class Main {
public static void main(String[] args) {
Pessoa pessoa = new Pessoa("Andrei");
pessoa.dizerOla(); // Acessando método público
}
}
Características da palavra-chave public
:
- Acessibilidade total: Um membro
public
pode ser acessado de qualquer lugar, independentemente de onde ele esteja localizado, seja dentro do mesmo pacote ou em um pacote diferente. - Visibilidade em todos os pacotes: Classes, métodos e variáveis
public
podem ser usados por qualquer outra classe em qualquer pacote. - Usado para classes principais e bibliotecas: Classes ou membros que devem ser acessados universalmente em um programa Java são geralmente definidos como
public
.
Regras de visibilidade de public
:
- Dentro da mesma classe: Membros
public
podem ser acessados de qualquer lugar da classe. - Dentro do mesmo pacote: Qualquer classe no mesmo pacote pode acessar membros
public
. - Fora do pacote: Membros
public
podem ser acessados de qualquer classe, mesmo que estejam em pacotes diferentes.
Exemplo de membros public
acessados fora do pacote:
// Arquivo: pacote1/ClasseA.java
package pacote1;
public class ClasseA {
public void mostrarMensagem() {
System.out.println("Mensagem da Classe A");
}
}
// Arquivo: pacote2/ClasseB.java
package pacote2;
import pacote1.ClasseA; // Importando a classe de outro pacote
public class ClasseB {
public static void main(String[] args) {
ClasseA obj = new ClasseA(); // Acessando uma classe pública de outro pacote
obj.mostrarMensagem(); // Acessando o método público
}
}
Comparação com outros modificadores de acesso:
Modificador | Dentro da Classe | Dentro do Pacote | Em Subclasses | Fora do Pacote |
---|---|---|---|---|
private | Sim | Não | Não | Não |
default | Sim | Sim | Não | Não |
protected | Sim | Sim | Sim | Não* |
public | Sim | Sim | Sim | Sim |
Vantagens de usar public
:
- Acessibilidade universal: Membros
public
podem ser usados em qualquer lugar do projeto ou fora dele, se a classe fizer parte de uma biblioteca pública. - Facilita reutilização: Quando uma classe ou método é destinado a ser reutilizado por outras classes ou pacotes,
public
é a escolha ideal. - Necessário para o ponto de entrada (
main
): O métodomain
de um programa Java deve serpublic
, já que ele precisa ser acessível pela máquina virtual Java (JVM).
Exemplo do método main
público:
public class Programa {
public static void main(String[] args) {
System.out.println("Programa iniciado.");
}
}
Resumo:
- A palavra-chave
public
oferece a visibilidade mais ampla, permitindo que membros e classes sejam acessados de qualquer lugar. - É frequentemente usado para classes e métodos que devem ser visíveis globalmente, como o método
main
ou classes de bibliotecas públicas.