有如下测试代码,运行Test,看看输出结果是什么?
{
public class Class1
{
public var txt:String = "aaaaaaaaaaaaaaaaaa";
public function Class1()
{
trace(txt);
}
}
}
package
{
public class Class2 extends Class1
{
public function Class2()
{
this.txt = "bbbbbbbbbbbbbbbbbb";
super();
trace(txt);
}
}
}
package {
import flash.display.Sprite;
public class test extends Sprite
{
public function test()
{
var cls2:Class2 = new Class2();
}
}
}
输出结果:
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
=============================================================================
为什么Class2构造函数中对txt的赋值没有起作用呢?
是否类成员变量的初始化时机要晚于构造函数呢?
从测试结果上看,出现继承关系时,似乎是这样。