Sobes.tech
Intern

Qual é a diferença entre um campo e uma variável em Java?

sobes.tech IA

Resposta da IA

Um campo é uma variável declarada dentro de uma classe, mas fora de qualquer método. Os campos definem as propriedades do objeto da classe.

Uma variável é qualquer local na memória reservado para armazenar dados de um tipo específico. As variáveis podem ser:

  • Campos (field): declarados ao nível da classe.
  • Variáveis locais (local variable): declaradas dentro de um método, construtor ou bloco.
  • Parâmetros de métodos (method parameter): declarados na assinatura do método.

A principal diferença: escopo e tempo de vida. Os campos pertencem ao objeto (para os não estáticos) ou à classe (para os estáticos) e existem durante todo o ciclo de vida. Variáveis locais e parâmetros de métodos existem apenas dentro do bloco em que são declarados, e são destruídos após sair dele.

Exemplo:

class Example {
    int instanceField; // Campo de instância

    static String staticField; // Campo estático

    void myMethod(int parameter) { // parameter - parâmetro do método
        int localVar = 10; // localVar - variável local
        this.instanceField = parameter;
        System.out.println(staticField + " " + localVar);
    }
}