- 注册时间
- 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。另外整形与浮点型在运算时有很多的差异之处,不加分辨会增加出错的几率。
|
|