- Static variable is created a single copy at class level and shared by all object of that class.
- This variable is declare within the class directly with static modifier.
- It is creating at the time of class loading and destroy at the time of class unloading.
- If the value of variable is not varied from object to object then such type of variable is declare with static modifier.
- This variable can be access from both instance and static area, either by object reference or by class name.
- There are not required to perform any explicit initialization. jvm will always provide default values.
- Static variable is stored in Method Area.
- In same class we can access this variable directly.
public class StaticVariableTest {
static int y = 20;
static int x;
public static void main(String[] args) {
StaticVariableTest s = new StaticVariableTest();
System.out.println("with object reference value of y :- " + s.y);
System.out.println("with class name value of y :- " + StaticVariableTest.y);
System.out.println("default value of x is :- " + x);
}
}
Output :-
with object reference value of y :- 20
with class name value of y :- 20
default value of x is :- 0