Sobes.tech
Intern

What is the difference between a field and a variable in Java?

sobes.tech AI

Answer from AI

A field is a variable declared inside a class but outside any method. Fields define the properties of an object of the class.

A variable is any location in memory allocated for storing data of a specific type. Variables can be:

  • Fields (also called member variables): declared at the class level.
  • Local variables: declared inside a method, constructor, or block.
  • Method parameters: declared in the method signature.

The main difference is in scope and lifetime. Fields belong to an object (for non-static) or class (for static) and exist throughout their lifecycle. Local variables and method parameters exist only within the block they are declared in and are destroyed after exiting it.

Example:

class Example {
    int instanceField; // Instance field

    static String staticField; // Static field

    void myMethod(int parameter) { // parameter - method parameter
        int localVar = 10; // localVar - local variable
        this.instanceField = parameter;
        System.out.println(staticField + " " + localVar);
    }
}