It is explained [here][1] : > Sometimes, you want to have variables that are common to all objects. This is accomplished with the `static` modifier. Fields that have the `static` modifier in their declaration are called static fields or class variables. They are associated with the class, rather than with any object. Every instance of the class shares a class variable, which is in one fixed location in memory. Any object can change the value of a class variable, but class variables can also be manipulated without creating an instance of the class. A class variable (declared `static`) is a location common to all instances. In the example, `numberOfBicycles` is a class variable. There is only one such variable (i.e. location) common to all instances and to the class. [1]: https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html