Sobes.tech
Junior — Middle

¿En qué se diferencian los campos de una clase y las variables locales dentro de los métodos en Java?

sobes.tech AI

Respuesta de la IA

Los campos de clase (variables de instancia o campos estáticos) y las variables locales dentro de los métodos en Java difieren en alcance, tiempo de vida y lugar de almacenamiento:

  • Campos de clase:

    • Se declaran dentro de la clase, pero fuera de los métodos.
    • Se almacenan en el objeto (si no son estáticos) o en el área de la clase (si son estáticos).
    • Mantienen su valor entre llamadas a métodos.
    • Son accesibles desde diferentes métodos de la clase (según el nivel de acceso).
  • Variables locales:

    • Se declaran dentro de un método.
    • Solo existen durante la ejecución del método.
    • Se almacenan en la pila de llamadas.
    • No son accesibles fuera del método en el que se declaran.

Ejemplo:

public class Example {
    int field = 10; // campo de clase

    public void method() {
        int localVar = 5; // variable local
        System.out.println(field + localVar);
    }
}

Aquí, field mantiene el estado del objeto, mientras que localVar solo existe durante la ejecución del método method.