既然 int是值类型,而 class是引用类型,那么int是怎样从Object派生的呢?
2010-11-22 10:20
183 查看
是这样的,当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在堆上 |
相关文章推荐
- 既然 int是值类型,而 class是引用类型,那么int是怎样从Object派生的呢?
- 无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
- 无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
- Map<String,object>也可以存list这样的数据,那么1map怎么遍历 2map能不能替代list 3既然map和list可以存下任何类型的数据,那么单map就可以存下任何类型的数据
- Android 报错 - 无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
- 无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
- js学习笔记:引用类型——Object
- js class模型 关于 初始化key值为非基本类型是 实例之间是引用该变量
- Javascript 引用类型Object,Array
- 面向对象(抽象类、引用数据类型转换、Object数组)
- Microsoft.Office.Interop.Excel 程序集引用 ,Microsoft.Office.Interop.Excel.ApplicationClass 无法嵌入互操作类型
- (8)javascript 引用类型--Object类型
- 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义必须添加对程序集“System.Data.Entity"引用
- 7_引用类型(【四】object练习模拟Map)
- 第2章 Java编程基础——FAQ2.11 int和Integer都可以作为整数类型, 那么它们有什么区别?
- Java中Object转化为int类型
- js引用类型之Object类型
- 无法将类型为“System.__ComObject”的 COM 对象强制转换为类类型“mshtml.HTMLInputElementClass
- 无法解析类型 org.springframework.dao.support.DaoSupport。从必需的 .class 文件间接引用了它
- C# 中WebService返回类型(string,int,bool,DataSet,class实体类)示例