as super

构造函数可以使用 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函数
}

posted @ 2011-05-20 09:33  Do.else  阅读(374)  评论(0编辑  收藏  举报