Junior — Middle
Qual é a diferença entre os campos de uma classe e as variáveis locais dentro dos métodos em Java?
sobes.tech IA
Resposta da IA
Os campos de classe (variáveis de instância ou campos estáticos) e variáveis locais dentro de métodos em Java diferem em escopo, tempo de vida e local de armazenamento:
-
Campos de classe:
- Declarados dentro da classe, mas fora dos métodos.
- São armazenados no objeto (se não forem estáticos) ou na área da classe (se forem estáticos).
- Mantêm o valor entre chamadas de métodos.
- São acessíveis a partir de diferentes métodos da classe (dependendo do nível de acesso).
-
Variáveis locais:
- Declaradas dentro de um método.
- Existam apenas durante a execução do método.
- São armazenadas na pilha de chamadas.
- Não são acessíveis fora do método em que são declaradas.
Exemplo:
public class Example {
int field = 10; // campo de classe
public void method() {
int localVar = 5; // variável local
System.out.println(field + localVar);
}
}
Aqui, field mantém o estado do objeto, enquanto localVar existe apenas durante a execução do método method.