A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高双武 黑马帝   /  2011-11-18 23:32  /  3104 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

说Object是所有类的子类,int.class的父类是Object吗?那为什么
int []  aa=new int [2];
Object [] bb=aa;

编译不通过?

3 个回复

倒序浏览
徐杨 黑马帝 2011-11-18 23:38:34
沙发
Object类是所有类的父类
int []  aa=new int [2];
Object [] bb=aa;
把Object  后面的[]去掉就可以通过编译了

int []  aa=new int [2];
Object bb=aa;
这个可以理解为    aa这个int类型的数组对象  赋给类Object类的bb对象

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
徐杨 发表于 2011-11-18 23:38
Object类是所有类的父类
int []  aa=new int [2];
Object [] bb=aa;

int []  aa=new int [2];
Object bb=aa;
aa是int[]类型的,这只能说明int[]类型的父类是Object,不能说明int的父类是Object啊

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
徐杨 黑马帝 2011-11-19 00:07:24
板凳
Integer  是 int这种基本类型的封装类  
Object是Integer的父类
JDK1.5以后有一个新的特性就是自动装箱拆箱特性  
实际上Object bb=aa;
是先把aa自动装箱成了integer类型  然后再给Object
关于自动装箱 可以看看视频
也可以是试试看 Integer = 1;  编译通过
1是int类型  为什么可以直接给integer
这实际上就是一个自动装箱的过程  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马