Flex中的Super()方法

构造函数可以使用 super() 语句显式地调用其直接超类的构造函数。如果未显式调用超类构
造函数,编译器会在构造函数体中的第一个语句前自动插入一个调用。还可以使用 super 前
缀作为对超类的引用来调用超类的方法。如果决定在同一构造函数中使用 super() 和
super,务必先调用 super()。否则,super 引用的行为将会与预期不符。另外,super() 构
造函数也应在 throw 或 return 语句之前调用。
下面的示例说明如果在调用 super() 构造函数之前尝试使用 super 引用,将会发生什么情
况。新类 ExampleEx 扩展了 Example 类。ExampleEx 构造函数尝试访问在其超类中定义
的状态变量,但访问是在调用 super() 之前进行的。ExampleEx 构造函数中的 trace() 语
句生成了 null 值,原因是 status 变量在 super() 构造函数执行之前不可用。
class ExampleEx extends Example
{
public function ExampleEx()
{
trace(super.status);
super();
}
}
var mySample:ExampleEx = new ExampleEx(); // 输出:null
虽然在构造函数中使用 return 语句是合法的,但是不允许返回值。换句话说,return 语句
不得有相关的表达式或值。因此,不允许构造函数方法返回值,这意味着不可以指定任何返
回值。
如果没有在类中定义构造函数方法,编译器将会为您自动创建一个空构造函数。如果某个类
扩展了另一个类,编译器将会在所生成的构造函数中包括 super() 调用。

原文地址:https://www.cnblogs.com/lvfeilong/p/super.html