学习笔记(三):装箱和拆箱

  一、内存包括栈和堆

    栈和堆的区别:

    栈:先进后出,存储空间小,存放数据速度快。

    堆: 无限制

    如果数据类型保存的数据在栈中存放,则该数据类型为值类型,如果在堆中存放,则称为引用类型。

    值类型包括:struct (结构体)、enum(枚举)(int 、long 、double等类型属于结构体类型

    引用类型包括: 类、接口、数组、委托(如果应用类型的值为null,表示没有存放任何对象的地址

   二、装箱和拆箱

    装箱:将值类型转换成引用类型。

    拆箱:将引用类型转换成值类型。

    例: 

        int val = 100;
      object obj = val; //装箱
      int num = (int) obj //拆箱

     被装过箱的对象在拆箱时类型一定要相同


   三、数据类型的转换

     包括隐式转换和显式转换(强制转换)

     隐式转换:

          1. 将范围小的类型赋值给范围大的类型的时候,发生隐式转换

          2. 把派生类对象赋值给基类引用时,发生隐式转换

          3. 把对象赋值给创建该对象的类所实现的接口的引用的时候

 

posted @ 2011-10-09 22:30  L.M  阅读(213)  评论(0编辑  收藏  举报