Actionscript AVM2中的$cinit和$init是什么?

Actionscript AVM2中的$cinit和$init是什么?,actionscript,avm2,Actionscript,Avm2,更新:找到一些。我没有花太多时间在它上面,但它肯定包含$init和$cinit(以及$iinit和许多其他东西)。如果在别人提出问题之前我能很好地掌握答案,我会对这个问题做出回应 今天,我被卷入了一个链接跳转和谷歌搜索的长线中,但仍然不太了解$cinit和$init是什么 我之所以在乎,是因为我今天了解到,$cinit和$init是由FP解释的(如果我理解正确的话),而其他的都是编译的 我认为$init指的是给定类的构造函数,$cinit指的是创建类的对象的构造函数。。。像这样的事 有谁能让我

更新:找到一些。我没有花太多时间在它上面,但它肯定包含$init和$cinit(以及$iinit和许多其他东西)。如果在别人提出问题之前我能很好地掌握答案,我会对这个问题做出回应


今天,我被卷入了一个链接跳转和谷歌搜索的长线中,但仍然不太了解$cinit和$init是什么

我之所以在乎,是因为我今天了解到,$cinit和$init是由FP解释的(如果我理解正确的话),而其他的都是编译的

我认为$init指的是给定类的构造函数,$cinit指的是创建类的对象的构造函数。。。像这样的事

有谁能让我明白这一点,或者至少给我指出一个有用的方向


谢谢。

$cinit
是在类第一次使用时构造所有静态变量。

$cinit
是在类第一次使用时构造所有静态变量。

这是一个老问题,但我知道答案,我将在这里发布

$cinit
是在需要使用类之前调用的方法。它初始化所有静态成员并运行静态初始化器中的任何代码。将其视为类自己的构造函数。例如,如果在AS3中有以下类:

public class SomeClass extends Object {
   static private const SOME_STATIC_VAR = 4;
   ....
}
然后,
$cinit
方法将在类被使用或引用之前运行,它将初始化
某些静态变量的内存,并将其值设置为4

$init
是类实例初始值设定项。它基本上是类构造函数。例如:

public function SomeClass() {
  super();
  return;
}

希望这对你来说足够详细

这是一个老问题,但我知道答案,我将在这里发布

$cinit
是在需要使用类之前调用的方法。它初始化所有静态成员并运行静态初始化器中的任何代码。将其视为类自己的构造函数。例如,如果在AS3中有以下类:

public class SomeClass extends Object {
   static private const SOME_STATIC_VAR = 4;
   ....
}
然后,
$cinit
方法将在类被使用或引用之前运行,它将初始化
某些静态变量的内存,并将其值设置为4

$init
是类实例初始值设定项。它基本上是类构造函数。例如:

public function SomeClass() {
  super();
  return;
}

希望这对你来说足够详细

我也想要一个明确的答案。我认为$cinit是类构造函数,$init是静态构造函数。但同样,我也不确定。我可能还要补充一点,$cinit和$init和$iinit不会被解释,而且肯定是编译的!我也想要一个明确的答案。我认为$cinit是类构造函数,$init是静态构造函数。但同样,我也不确定。我可能还要补充一点,$cinit和$init和$iinit不会被解释,而且肯定是编译的!谢谢,俊杰。你能深入一点吗?谢谢你,俊杰。你能深入一点吗?