🎯 Objetivo
Nesta lição, você aprenderá conceitos fundamentais muito cobrados na certificação Java SE: modificadores de acesso, construtores, palavras-chave this e static, além da diferença entre membros de instância e membros estáticos.
Esses conceitos aparecem frequentemente em questões de prova porque envolvem comportamento da linguagem, escopo e organização do código.
🔐 1. Modificadores de Acesso
Os modificadores de acesso controlam quem pode acessar classes, atributos e métodos.
Java possui quatro níveis principais de acesso:
| Modificador | Mesma Classe | Mesmo Pacote | Subclasse | Outros Pacotes |
|---|---|---|---|---|
private | ✅ | ❌ | ❌ | ❌ |
| (default) | ✅ | ✅ | ❌ | ❌ |
protected | ✅ | ✅ | ✅ | ❌ |
public | ✅ | ✅ | ✅ | ✅ |
✅ private
O elemento só pode ser acessado dentro da própria classe.
public class Conta {
private double saldo;
public void mostrarSaldo() {
System.out.println(saldo);
}
}
Nesse caso, o atributo saldo não pode ser acessado diretamente fora da classe.
✅ default (sem modificador)
Quando nenhum modificador é declarado, o acesso é permitido apenas dentro do mesmo pacote.
class Produto {
String nome;
}
✅ protected
Permite acesso no mesmo pacote e também em subclasses.
public class Animal {
protected void dormir() {
System.out.println("Dormindo...");
}
}
✅ public
O elemento pode ser acessado de qualquer lugar.
public class Pessoa {
public String nome;
}
🏗️ 2. Construtores
Construtores são métodos especiais usados para inicializar objetos.
Eles:
- possuem o mesmo nome da classe;
- não possuem tipo de retorno;
- são executados automaticamente ao criar objetos.
✅ Construtor Simples
public class Carro {
String modelo;
Carro() {
modelo = "Desconhecido";
}
}
✅ Criando Objeto
Carro c1 = new Carro();
System.out.println(c1.modelo);
✅ Construtor com Parâmetros
public class Pessoa {
String nome;
int idade;
Pessoa(String nome, int idade) {
this.nome = nome;
this.idade = idade;
}
}
🔄 3. Palavra-chave this
A palavra this representa o objeto atual.
Ela é usada principalmente para:
- diferenciar atributos de parâmetros;
- chamar outros construtores;
- referenciar o próprio objeto.
✅ Exemplo
public class Produto {
String nome;
Produto(String nome) {
this.nome = nome;
}
}
Sem o this, o Java confundiria o atributo com o parâmetro.
⚡ 4. Métodos e Variáveis Static
O modificador static indica que o membro pertence à classe e não ao objeto.
Portanto:
- existe apenas uma cópia do membro;
- todos os objetos compartilham o mesmo valor;
- métodos estáticos podem ser chamados sem criar objetos.
✅ Variável Static
public class Contador {
static int total = 0;
Contador() {
total++;
}
}
✅ Testando
public class Teste {
public static void main(String[] args) {
new Contador();
new Contador();
new Contador();
System.out.println(Contador.total);
}
}
Saída:
3
✅ Método Static
public class Calculadora {
static int somar(int a, int b) {
return a + b;
}
}
Uso:
int resultado = Calculadora.somar(10, 20);
⚠️ 5. Regras Importantes para a Certificação
🚫 Método static NÃO pode acessar membros de instância diretamente
public class Exemplo {
int valor = 10;
static void mostrar() {
System.out.println(valor); // ERRO
}
}
Isso acontece porque membros de instância pertencem ao objeto, enquanto métodos static pertencem à classe.
✅ Método static pode acessar apenas membros static diretamente
public class Exemplo {
static int numero = 100;
static void mostrar() {
System.out.println(numero);
}
}
🧪 6. Exercício Prático
Crie uma classe chamada Aluno com:
- atributo
nome; - atributo
idade; - variável estática
totalAlunos.
Depois:
- Crie um construtor para inicializar nome e idade;
- Aumente
totalAlunossempre que um objeto for criado; - Crie um método para exibir os dados;
- Crie três objetos e exiba o total de alunos.
🧠 Dicas para a Certificação Java SE
Durante a prova:
- preste atenção em acesso de atributos e métodos;
- memorize diferenças entre
statice instância; - observe construtores sem retorno;
- fique atento ao uso de
this; - revise escopo e encapsulamento.
Além disso, muitas questões tentam confundir o candidato usando pequenos detalhes de sintaxe.
Portanto, pratique bastante leitura de código.

https://education.oracle.com/pt_BR/oracle-certification-path/pFamily_48





Deixe um comentário