When you declare a field variable of a class as static, that field variable is instantiated only once, no matter how many instances of the class are created. In other words, a static field variable is a class variable, and, not an instance variable. If the value of a static field variable of a class is changed by an instance of that class, the value of that field variable changes for all instances of that class.
When you declare a method of a class as static, that method becomes a class method operating in the class itself rather than in instances of the class. A static method can only refer to static field variables and static methods of the class. A static method is implicitly final, i.e. it cannot be overriden by subclasses of the class.