不同点 | 值类型 | 引用类型 |
类型分配的位置 | 分配在栈上 | 分配的托管堆上 |
基类型 | System.Value | 除System.Value之外的任意类型 |
是否可以有子类 | 不可以,因为是密封的,不能被继承 | 可以 |
参数传递的行为 | 按值传递,传的是副本 | 按引用传递,传的是引用 |
是否可以重写System.Object.Finalize() | 不能,因为值类型放在栈上 | 可以间接重写 |
是否可以为该类型定义构造函数 | 可以,但默认的构造函数要保留(自定义的要带参数) | 可以 |
生命周期 | 超出定义的作用域时就结束生命 | 当托管堆被垃圾回收就结束生命 |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |