最近我看到这样的声明"HBox(this.getChildAt(0))"

Sab*_*a B 0 apache-flex actionscript-3

它究竟意味着什么,我从未使用过HBox(一些论点); ?我在某些类中看到这样的语句继承了WindowShade控件.请清除这个疑问.谢谢!

Dan*_*ego 5

该声明是演员.如果你有一个非常通用的类型的对象,你绝对知道它是一个更具体的类型 - 在这种情况下,可能是一个你知道是HBox的DisplayObject或接口类型,你想要调用HBox的方法.

如果您完全确定要转换为正确的类型,则应该只使用强制转换,因为转换为错误的类型会引发错误.如果您不确定自己是否拥有HBox,可以使用"as"语法:

var myHBox:HBox = thing as HBox;
if(myHBox)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

这样,如果thing不是HBox,myHBox将被设置为null.