インスタンスメソッドとインスタンス変数とは異なり、サブクラスはスーパークラスの静的メソッド・静的変数を継承しない。静的メソッドをサブクラスから呼んだ場合、エラーが発生する。
例:
public class A { public static function s () { trace("a.s() was called"); } } public class B extends A { public function B () { B.s(); // エラー:A.s()への無効なアクセス } }
しかし、AかBのいずれかの中で定義されている静的メソッド・静的変数は、A.s()ではなく、クラス名抜きのs()と書けば、呼び出すことができる。とはいえ、静的メソッド・静的変数の呼び出し時にクラス名を含んでおくのが賢明である。クラス名が含まれていれば、そのメソッド・変数の出処が明らかだからだ。
今日の進捗:2715→2724/20168