In general, you can access static members from other static member definitions, from instance member definitions, and from external procedures. As with instance members, the requirements for accessing static members differ when accessing them from outside or inside the class where they are defined. The available options for accessing static members also depend on the kinds of static members you are accessing. Finally, the requirements for accessing overridden static methods are different than for accessing overridden instance methods.
The following sections describe these access options and requirements: