Sobes.tech
Intern

¿Cuál es la diferencia entre un campo y una variable en Java?

sobes.tech AI

Respuesta de la IA

Un campo es una variable declarada dentro de una clase, pero fuera de cualquier método. Los campos definen las propiedades del objeto de la clase.

Una variable es cualquier lugar en la memoria asignado para almacenar datos de un tipo determinado. Las variables pueden ser:

  • Campos (field): declarados a nivel de clase.
  • Variables locales (local variable): declaradas dentro de un método, constructor o bloque.
  • Parámetros de métodos (method parameter): declarados en la firma del método.

La principal diferencia: el ámbito y el tiempo de vida. Los campos pertenecen al objeto (para los no estáticos) o a la clase (para los estáticos) y existen durante todo su ciclo de vida. Las variables locales y los parámetros de métodos existen solo dentro del bloque en el que se declaran y se destruyen después de salir de él.

Ejemplo:

class Example {
    int instanceField; // Campo de instancia

    static String staticField; // Campo estático

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