我是ActionScript 3的新手,遇到了一个问题:
使用Flex Builder 3,我创建了一个带有几个简单类的项目.如果类A中的代码实例化了一个类B的对象(B类在自己的源文件中),那么代码编译很好,但是我得到以下运行时错误:
ArgumentError: Error #2012: B class cannot be instantiated.
有人可以解释我在做错什么吗?
更新:请看下面我自己的答案(由于我尚未注册,我无法投票到顶部).
我终于意识到了什么是
错误的:B类是从DisplayObject进行子类化,现在我看到它是一个抽象类. B类没有实现抽象成员,因此这个
错误.我可能会将类B更改为从Sprite的子类.
这似乎是一个应该被编译器捕获的问题.这不是意味着抽象成员的实现的事实可以等到运行时间?即使如此,至少得到编译器警告也是很好的.
感谢大家的回答,希望他们能帮助遇到2012年错误的人.