static
static
static
You can create a single copy of the static variable and share it among all instances of the class. Also, memory allocation for static variables only occur once when the class is loaded in the memory.
Regular static variables are deemed as against object-oriented programming nature of Java, which recommends each object to have its own state represeted by an instance variable, because a static variable represents the state across instances. However, a final static variable, which is technically a constant, is not so against the OOP nature of Java.
Global variables in C: accessible in any function of the program & persists until the program comes to an end
Java does not have global variables because it is an Object Oriented Programming language. All variables in Java should either be local or a member of a class.
References