Staticメンバのルール
staticなメンバ (Staticで修飾されたフィールドやメソッド)は インスタンスが作られるメモリ領域とは異なる領域に配置される
staticなメンバはインスタンスの有無に関わらず使える。
staticでないメンバは、インスタンスがないと使えません。
もし、 staticなメソッドから、
Staticでないフィールドや
メソッドにアクセスしようとすると
存在しないものを呼び出すことになるため
コンパイルエラーが発生します。
このルールのため インスタンスがなくても使える Staticなメソッドから、 Staticではないメンバにはアクセスできません。 Static ではないメンバは、インスタンスが使えないからです。
反対に、staticではないメソッドから Static なメンバにアクセスすることは可能です。