既然 int是值类型,而 class是引用类型,那么int是怎样从Object派生的呢?

本文解释了在编程中int作为值类型与引用类型的区别。详细介绍了装箱过程,即int到对象的自动转化,以及拆箱过程,即将对象重新转化为int的过程。

是这样的,当int用作int时候,这是一个值类型(在栈上),然而,当它用作是Object时,这是一个引用堆上的整数值的引用类型。换而言之,当你将int看作对象时,运行层将它自动转化为对象引用,这个转化过程称作装箱(boxing)。这个转换包括将栈里的值拷贝到了堆里,并且新建了一个对象的实例来引用该值。拆箱操作(unboxing)是个反过程——将对象转化为基于栈的值类型。

int x = 3;    
// 堆栈上新的int类型,值为3

object objx = x;    
// 堆上新的int, 设定值为3,x=3仍然在堆栈上
   
int y = (int)objx;    
//新的int类型的值3在堆栈上,x=3在堆栈上,objx=3在堆上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值