JavaPOObasico

Método de instância

Quando você modela objetos no código, cada instância de uma classe tem seus próprios dados, como nome e idade. Métodos de instância permitem que essas operações sejam executadas com base no estado particular de cada objeto — é assim que métodos como getNome() ou calcularTotal() funcionam na prática. Dominar a diferença entre método de instância e estático evita erros comuns e mantém seu código orientado a objetos coerente.

O PROBLEMA

Adicione apresentar() a Pessoa que imprime "Olá! Sou [nome], [idade] anos."

EXEMPLO

p.apresentar() → Olá! Sou Ana, 25 anos.

SOBRE O CONCEITO

Um método de instância pertence a cada objeto criado a partir da classe, podendo acessar diretamente os atributos daquele objeto via this. No exercício, o método apresentar() precisa usar o nome e a idade da pessoa específica que o chamou, como em p.apresentar(). O erro comum é declarar o método como static, o que o tornaria pertencente à classe, não à instância. Um método static não tem acesso ao this nem aos atributos não estáticos, portanto não poderia imprimir nome e idade de uma pessoa sem recebê-los como parâmetro — o que quebra a lógica de encapsulamento. Ao remover o static, o método se torna um método de instância e consegue usar this.nome e this.idade para acessar os valores do objeto que o invocou.

RESOLUÇÃO

Mais exercícios de POO

JAP004 · BásicoMétodo com retornoJAP005 · BásicoMúltiplos objetosJAP011 · IntermediárioHerança simplesJAP002 · BásicoConstrutor
Ver todos os exercícios de Java