黑马程序员技术交流社区

标题: sop()输出的问题 [打印本页]

作者: 李海    时间: 2012-6-16 21:20
标题: sop()输出的问题
public void sop(Objetc obj )
{
   System.out.println(obj);

}
public void test()
{
   int num=5;
   sop(num);

}

为什么一个基本类型的变量 如:int float 等  可以赋给以引用型变量呢?

作者: 赵倩倩    时间: 2012-6-16 21:24
这也就是Java中的autobox,即自动装箱机制。其过程是这样的,int 先自动装箱成 Integer,然后再赋给 Object
作者: 孙峰    时间: 2012-6-16 21:30
应该参考下 基本数据类型对象包装类
byte--Byte   int  --Integer,float-Float   ,char--Character,,这些数据在这里都作为一个该类的对象。
作者: 李盼    时间: 2012-6-16 21:30
因为基本数据类型会自动包装成基本数据包装类对象。

例如  Object obj = 5的过程是先把int的5包装称Integer对象,然后赋值给obj引用型变量,这个过程是java虚拟机帮你完成的。
作者: 黑马-李勇    时间: 2012-6-16 22:48
{:soso_e113:}装箱问题,我也问过




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2