From Java Specification (Third edition):
About static fields http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.3.1.1
If a field is declared static, there exists exactly one incarnation of
the field, no matter how many instances (possibly zero) of the class
may eventually be created. A static field, sometimes called a class
variable, is incarnated when the class is initialized
About static methods http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.3.2
A method that is declared static is called a class method. A class
method is always invoked without reference to a particular object. An
attempt to reference the current object using the keyword this or the
keyword super or to reference the type parameters of any surrounding
declaration in the body of a class method results in a compile-time
error. It is a compile-time error for a static method to be declared
abstract.