静态属性
var ddd1 = new Widget();
trace(ddd1.widgetCount);
//out.print:undefined
//**无法通过实例属性访问widgetCount
trace(Widget.widgetCount);
//out.print:1
//**通过 “类名.静态属性”访问
var ddd2 = new Widget();
trace(Widget.widgetCount);
//out.print:2
var ddd3 = new Widget();
trace(Widget.widgetCount);
//out.print:3
var ddd4 = new Widget();
trace(Widget.widgetCount);
//out.print:4
Widget.widgetCount = 110;
trace(Widget.widgetCount);
//out.print:110
//**静态属性仍然可以改写
ddd5 = new SubWidget();
//out.print:Creating subwidget # 111
trace(Widget.widgetCount);
//out.print:111
//***说明创建一个子类继承了超类的构造函数
/**
可以理解“如果您没有将对 super() 的调用放入子类的构造函数中,
则编译器将自动生成对其不含参数的直接超类的构造函数的调用作为该函数的第一个语句。”
*/
var ddd6 = new Widget();
trace(Widget.widgetCount);
//out.print:111
var ddd7 = new Widget();
trace(Widget.widgetCount);
//out.print:112
静态方法
class StaticTest {
var name = "Ted";
static function getName() {
var local_name = name;
// 错误!不能在静态函数中访问实例变量。
}
}
// 通过上面的就可以理解“类(静态)方法只能访问类(静态)属性,而不能访问实例属性 ”