Error: Call to a possibly undefined method

Error: Call to a possibly undefined method

我有最简单的代码。主要 class:

package 
{
import field.Field;
import flash.display.Sprite;
import flash.events.Event;

public class Main extends Sprite 
{

    public function Main():void 
    {
        if (stage) init();
        else addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event = null):void 
    {
        removeEventListener(Event.ADDED_TO_STAGE, init);

        var field:Field = new Field();
        addChild(field);
        field.test();
    }
}
}

和一个字段 class:

package field 
{
import flash.display.Sprite;

public class Field extends Sprite 
{

    public function Field() 
    {
        super();

    }

    public function test():void
    {

    }

}
}

测试 方法被提出。 但是当我尝试编译时,我得到了这个:
Main.as(26): col: 10 Error: Call to a possibly undefined method test. field.test();

怎么会这样?

field是你的包裹,所以你不能做field.test()。因此,您必须为 Field 实例选择另一个名称。你可以这样做:

var _field:Field = new Field();
addChild(_field);
_field.test();

希望能帮到你。