What is the difference between field, variable, attribute, and property in Java

Variable A variable is the name given to a memory location. It is the basic unit of storage in a program.
The value stored in a variable can be changed during program execution. Each variable has a type, such as int, double or Object, and a scope. Class variable may be instance variable, local variable or constant. Also, you should know that some people like to call final non-static variables. In Java, all the variables must be declared before use.

Field A data member of a class. Unless specified otherwise, a field can be public, static, not static and final.

filter_none

edit
close

play_arrow

link
brightness_4
code

public class Customer {
  
    // Fields of customer
    final String field1 = "Fixed Value";
    int name;
}

chevron_right


Attribute An attribute is another term for a field. It’s typically a public field that can be accessed directly. Let’s see a particular case of Array, the array is actually an object and you are accessing the public constant value that represents the length of the array.

In NetBeans or Eclipse, when we type object of a class and after that dot(.) they give some suggestion those suggestion is called Attribute.
Note: Here Never Show Private Fields


Property It is also used for fields, it typically has getter and setter combination.
Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

public class Test {
    private int number;
  
    public int getNumber()
    {
        return this.number;
    }
  
    public void setNumber(int num)
    {
        this.number = num;
    }
}

chevron_right


Example

filter_none

edit
close

play_arrow

link
brightness_4
code

public class Variables {
  
    // Constant
    public final static String name = "robot";
  
    // Value
    final String dontChange = "India";
  
    // Field
    protected String rever = "GANGA";
  
    // Property
    private String age;
  
    // Still the property
    public String getAge()
    {
        return this.age;
    }
  
    // And now the setter
    public void setAge(String age)
    {
        this.age = age;
    }
}

chevron_right




My Personal Notes arrow_drop_up

Strategy Path planning and Destination matters in success No need to worry about in between temporary failures

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.