- 注册时间
 - 2014-4-11
 - 最后登录
 - 2015-10-16
 - 阅读权限
 - 70
 - 积分
 - 1476
 - 精华
 - 0
 - 帖子
 - 191
  
 
 
 
   
TA的每日心情  | 开心 2015-10-16 15:17 | 
|---|
 
  签到天数: 39 天 连续签到: 1 天 [LV.5]常住居民I 
 | 
  Java的数据类型分为两种,基本数据类型(boolean byte char short int long float double)和对象类型(Object),基本数据类型不是对象,在需要对象类型的环境中,基本类型需要借助包装器来将自己包装成为对象类型。 
  As3中也是一切都是对象,并且同Java一样,所有的类都是派生自顶层的Object类。不过虽然都是对象,但As3的类型也是分为两种:基本类型和复杂数据类型。这两种类型虽然都是对象,但是在很多地方却是有着很大的差别,例如所有的基本类型都是不可变的,而复杂类型就不一定,另外两者的引用方式以及传参的方式也是有着很大区别的。 
  可以看到对数字的处理方式比较奇特,分为int\Number\uint,在原先As2中,表示数字的类型只有一种,就是Number,无论整形还是http://www.28d8.com/开心8代理浮点型都是用它来表示,可以理解为将所有数字类型的变量弱类型化. 
      这样可能看上去方便一些,但是我们知道整形和浮点型的硬件运算处理方式是完全不同的,另外占用存储空间大小也不同(在as3中,int占4字节,Number占8字节),统一化为一个类型Number就会对执行效率产生影响,虽然现在As3中Number类型还是能够同时表示整形和浮点型,但已经不提倡这么去做了,整形就应该用int和uint,浮点型就应该用Number。另外整形与浮点型在运算时有很多的差异之处,不加分辨会增加出错的几率。 
 
 
 |   
 
  
 |