AS3では、staticメソッドを継承することもオーバーライドすることも出来ません。


■staticメソッドを継承しない

package test{
    public class Aaa{
        public static function hoge():String{
            return "parent";
        }
    }
}
package test{
    public class Bbb extends Aaa{
    }
}


これで、Bbb.hoge();とかくとコンパイルエラー。

package test{
    public class Bbb extends Aaa{
        public override static function hoge():String{
            return "child";
        }
    }
}


static & override なfunction定義もコンパイルエラーになる。


ならば、こう書く

package test{
    public class Bbb extends Aaa{
        public static function hoge():String{
            return "child";
        }
    }
}

※これならコンパイルエラーにはならない。


Bbb.hoge();として実行すると、「child」と表示される。これってOverrideしてる訳ではない。




AS3では、staticメソッドを継承することもオーバーライドすることも出来ません。





ちなみにjavaではstaticメソッドを継承する※)が、@Overrideすることはできませぬ。

※)追記:
継承ではなく、単にクラスの親子関係を逆に手繰って、親クラスのスタティックメソッドを呼んでいる
詳しくはコメント欄見てください



ややこしい。