构造函数可以使用 super() 语句显式地调用其直接超类的构造函数。
如果未显式调用超类构造函数,编译器会在构造函数体中的第一个语句前自动插入一个调用。
还可以使用 super 前缀作为对超类的引用来调用超类的方法。
如果决定在同一构造函数中使用 super() 和 super,务必先调用 super()。否则,super 引用的行为将会与预期不符。另外,super() 构造函数也应在 throw 或 return 语句之前调用。
当new子类的时候,默认就调用无参数的父类构造函数
当父类构造函数有参数的时候,想在子类构造函数调用父类,必须在子类第一句super(…参数);
**********************************************************************
1、文档类:SuperSampler.as
package
{
import flash.display.Sprite;
public class SuperSampler extends Sprite
{
public function SuperSampler():void
{
var test:Extender=new Extender();
//test.hello();
}
}
}
class Base
{
public function Base():void
{
trace("Base");
//hello();
}
public function hello():void
{
trace("Base===>hello");
}
}
class Extender extends Base
{
public function Extender():void
{
//super();//调用构造类.
//继承了Base类.那么不使用super().也会调用父类的构造方法.构造方法中如果写了程序,则会调用该程序.如果程序中的方法,子类重写了.则执行重写的方法.
}
override public function hello():void
{
trace("Extender :hello ");
//super.hello() 调用构造方法
}
//override不能用于重载变量(成员属性)。但是却可以用于重写getter和setter函数
}