10.5.2 Static and instance methods
When a method declaration includes a
static modifier, that method is said to be a static method. When no
static modifier is present, the method is said to be an instance method.
A static method does not operate on a specific instance, and it is a compile-time error to refer to
this in a static method.
An instance method operates on a given instance of a class, and that instance can be accessed as
this (Section 7.5.7).
When a method is referenced in a member-access (Section 7.5.4) of the form
M is a static method,
E must denote a type containing
M, and if
M is an instance method,
E must denote an instance of a type containing
The differences between static and instance members are discussed further in Section 10.2.5.