如何修复错误“公共命名空间中的定义 * 存在冲突。”使用ASC2.0?

问题描述 投票:0回答:1

在类层次结构中:

MngLayers 扩展了 Manager_Panel,又扩展了 Manager_Base...

-- 在 Manager_Base 中,我定义了一个

init()
方法:

public class Manager_Base {
    //....

    public function init():void {
        //Do initialization here...
    }
}

-- 在 Manager_Panel 中,我不会覆盖

init()
方法。

-- 在 MngLayers 中,我重写了

init()
方法。

public override function init():void {
    super.init();
    //Do custom initialization here...  
}

当我尝试编译它时,我收到这个无用的编译错误:

错误:与命名空间 public 中的定义 init 存在冲突。

我不确定这是否重要,但我正在使用具有 -inline 支持的 ASC2.0 编译器(来自 AIR SDK 3.7)。

编译器中是否存在某些问题,导致它无法像以前的编译器一样进行简单的方法覆盖编译?

actionscript-3 compiler-errors overriding public
1个回答
0
投票

啊!妈的,好吧,只是 ASC2.0 描述性不够!

我的错,我一直在叶子子类(MngLayers)中有一个 duplicate

init()
重写方法。如果编译器指出重复的一个,那就会有帮助了!

希望这可以帮助其他犯同样菜鸟错误的人! :D

© www.soinside.com 2019 - 2024. All rights reserved.