I think you need to step back and ask who calls the paintComponent() method. (At least I assume this is the context you are using.) If you have done things correctly, you never call this method explicitly yourself. Instead, the operating system sends a message and a Java class from the API calls it for you. However, before Java calls the method it HAS to create (instantiate) a Graphic object somehow. This is what allows you to call non-static methods. An object IS instantiated, even if it doesn't appear explicitly in your own code.
If you need more help with understanding how paintComponent() works at a geeneral level,
you should google for information on "callback functions".
Layne