AS3 类成员变量的初始化和构造函数的执行 谁先谁后?
2013-10-25 11:32
218 查看
有如下测试代码,运行Test,看看输出结果是什么?
输出结果:
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
=============================================================================
为什么Class2构造函数中对txt的赋值没有起作用呢?
是否类成员变量的初始化时机要晚于构造函数呢?
从测试结果上看,出现继承关系时,似乎是这样。
{ 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的赋值没有起作用呢?
是否类成员变量的初始化时机要晚于构造函数呢?
从测试结果上看,出现继承关系时,似乎是这样。
相关文章推荐
- C#类成员变量初始化与构造函数执行的顺序
- 构造函数初始化、static代码块初始化、成员变量初始化、以及在子父类中混合的执行顺序实例
- Java初始化顺序总结及其程序执行过程图- 静态变量、静态代码块、成员变量、构造函数
- Java 父类的构造函数执行要早于子类的实例变量初始化
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- (已解决一部分)哪位对类的构造函数内的成员变量的初始化过程比较熟悉~帮忙看个问题
- Java中创建对象时,初始化成员变量的代码的执行顺序
- java变量,初始化快,构造函数的执行顺序
- C++类构造函数初始化列表及初始化成员变量的误区
- 单文档应用程序不要在构造函数中初始化文档类成员变量
- java变量,初始化快,构造函数的执行顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- 在构造函数的参数化列表中调用基类构造函数初始化继承来的成员变量
- Java初始化顺序总结 - 静态变量、静态代码块、成员变量、构造函数
- 构造函数初始化成员变量问题
- 构造函数中,成员变量一定要通过初始化列表来初始化
- C++中使用初始化列表比在构造函数中对成员变量赋值更高效
- 在构造函数的参数化列表中调用基类构造函数初始化继承来的成员变量
- C++ 成员变量的初始化与构造函数