A static variable in Java is a variable that is declared with the "static" keyword and cannot be changed once assigned a value. It is accessible from anywhere within the class, but not from outside the class. It is also shared among all instances of a class, meaning that any changes made to the static variable will be reflected in all instances of the class.