学习笔记(三):装箱和拆箱
一、内存包括栈和堆
栈和堆的区别:
栈:先进后出,存储空间小,存放数据速度快。
堆: 无限制
如果数据类型保存的数据在栈中存放,则该数据类型为值类型,如果在堆中存放,则称为引用类型。
值类型包括:struct (结构体)、enum(枚举)(int 、long 、double等类型属于结构体类型)
引用类型包括: 类、接口、数组、委托(如果应用类型的值为null,表示没有存放任何对象的地址)
二、装箱和拆箱
装箱:将值类型转换成引用类型。
拆箱:将引用类型转换成值类型。
例:
int val = 100;
object obj = val; //装箱
int num = (int) obj //拆箱
被装过箱的对象在拆箱时类型一定要相同
三、数据类型的转换
包括隐式转换和显式转换(强制转换)
隐式转换:
1. 将范围小的类型赋值给范围大的类型的时候,发生隐式转换
2. 把派生类对象赋值给基类引用时,发生隐式转换
3. 把对象赋值给创建该对象的类所实现的接口的引用的时候
欢迎您的转载,那是对我最大的肯定,但请注明出处。