黑马程序员技术交流社区

标题: 为什么基本类型一维数组不能当作Object[]类型使用??? [打印本页]

作者: 小黑子    时间: 2014-10-13 17:46
标题: 为什么基本类型一维数组不能当作Object[]类型使用???
看了好几遍张老师的视频,还是不懂

int[] a1 = new int[3];
String a2 = new String[4];
Object[] obj1 = a1;
Object[] obj2 = a2;

为什么第三句不对,第四句对了???

作者: (づ ̄_3 ̄)づ    时间: 2014-10-13 17:59
String不是基本类型,他继承自Object类,肯定可以啊如果int改成它的包装类Integer就行了
作者: 小黑子    时间: 2014-10-13 18:05
(づ ̄_3 ̄)づ 发表于 2014-10-13 17:59
String不是基本类型,他继承自Object类,肯定可以啊如果int改成它的包装类Integer就行了 ...

我一开始也这样想的,
但是又一想: int.getClass();  可以执行,那 int 也就是一个对象啊。既然是对象,那肯定也继承了Object类。
这又是为啥?
作者: 懒羊羊    时间: 2014-10-13 18:38
哦哦哦  懂了
作者: (づ ̄_3 ̄)づ    时间: 2014-10-13 18:44
小黑子 发表于 2014-10-13 18:05
我一开始也这样想的,
但是又一想: int.getClass();  可以执行,那 int 也就是一个对象啊。既然是对象, ...

int不能调getClass()方法吧,你肯定哪里搞错了
作者: 小黑子    时间: 2014-10-14 09:37
(づ ̄_3 ̄)づ 发表于 2014-10-13 18:44
int不能调getClass()方法吧,你肯定哪里搞错了

哦,是我写错了,是这样的:
int.class.getClass()
我好像明白了。int不是个对象,int.class是一个对象,
作者: new999    时间: 2014-10-14 09:41
int,基本数据类型,它的类型是Type




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