2007/03/26 | flash,晕了晕了[2]
类别(Flash进修) | 评论(3) | 阅读(46) | 发表于 13:14

//写法1
class BtnNode {
 private var child:Array;
 function BtnNode() {
  this.child=new Array();
  init();
 }
.............
}

//写法2
class BtnNode {
 private var child:Array=new Array();
 function BtnNode() {
  init();
 }
.............
}

----------------问题----------------
写法1,和写法2有什么不同吗?
产生的效果一样吗?

----------------发现----------------
如果使用写法2,结果是:BtnNode类的所有实例的child都指向同一个Array实例
只有使用写法1,才能为每个BtnNode的实例分配一个Array实例

如果不知道这个问题,或者没有注意这个问题,后果不堪设想
据说这是flash编译器的bug来的,不知道在java里面的话有没有这样的事
不过,不管怎么样,写法1才是比较规范的写法,以后不再偷懒了

0

评论Comments