关于Object

dreamhyz 2008-04-22 03:41:44
请问
Object o=new Object[4];
这条语句错了吗,本人认为
Object[] o=new Object[4];才
才正确啊
...全文
93 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoxiaopeng1982 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 eatingbirdmiemies 的回复:]
Object o = new Object[4];
等同于
Java codeObject[] obj=newObject[4];
Object o=obj;

没办法,Object类太特殊咩,是所有Java类的超类,包括数组类在内...
[/Quote]
楼上的,3楼已经回答的很清楚了,仔细点看吧
Shine_Panda 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yangk_105 的回复:]
Object o=new Object[4]; 和 Object[] o=new Object[4];都是正确的

由于数组不是基本数据类型,而是引用数据类型,所以实际上就是Object,因此,前者的的o代表的就是一个4位长度的Object数组整体。
[/Quote]
支持。。。。。。。。。
dreamhyz 2008-04-22
  • 打赏
  • 举报
回复
谢谢各位,结贴了,都有分。。。
kingssq 2008-04-22
  • 打赏
  • 举报
回复
它这样做有什么意义呢,好像不能用o[0]这样
确实没什么太大的意义,也很少有人这么做
anqini 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dreamhyz 的回复:]
引用 1 楼 kingssq 的回复:
那也写也没有错,因为数组也是继承了Object的。


不太明白

Object o=new Object[4];
这样得出的好像不是数组,而是一个对象,可为什么呢
[/Quote]

因为数组也是Object,只是把new Object[4]; 的对象转型为Object
云上飞翔 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 eatingbirdmiemies 的回复:]
Object o = new Object[4];
等同于

Java code
Object[] obj = new Object[4];
Object o = obj;




没办法,Object类太特殊咩,是所有Java类的超类,包括数组类在内...
[/Quote]

答:这只“小羊”说得对。顶!
dreamhyz 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 eatingbirdmiemies 的回复:]
Object o = new Object[4];
等同于
Java codeObject[] obj=newObject[4];
Object o=obj;

没办法,Object类太特殊咩,是所有Java类的超类,包括数组类在内...
[/Quote]

它这样做有什么意义呢,好像不能用o[0]这样
eatingbirdmiemies 2008-04-22
  • 打赏
  • 举报
回复
数组也是对象咩.Java中的数组是特殊的对象.
虽然特殊,但也是对象.

Object o = 后面可以是任何对象
这完全符合Java规范.
yangk_105 2008-04-22
  • 打赏
  • 举报
回复
Object o=new Object[4]; 和 Object[] o=new Object[4];都是正确的

由于数组不是基本数据类型,而是引用数据类型,所以实际上就是Object,因此,前者的的o代表的就是一个4位长度的Object数组整体。
hongke1490 2008-04-22
  • 打赏
  • 举报
回复
两个都对,意义不一样。
第一个生成一个对象,这个对象是一个数组;
第二个直接生成一个数组。
Object o1 =new Object[4];
Object[] o2 = (Object[])o1;
for(int i=0;i<4;i++)
o2[i] = new Object();
对象o1和数组o2是一样的。
dreamhyz 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kingssq 的回复:]
那也写也没有错,因为数组也是继承了Object的。
[/Quote]

不太明白

Object o=new Object[4];
这样得出的好像不是数组,而是一个对象,可为什么呢
我是风 2008-04-22
  • 打赏
  • 举报
回复
非要那么用也行:
Object o = new Object[4]; 
((Object[])o)[1] = "ddd";
eatingbirdmiemies 2008-04-22
  • 打赏
  • 举报
回复
Object o = new Object[4];
等同于

Object[] obj = new Object[4];
Object o = obj;


没办法,Object类太特殊咩,是所有Java类的超类,包括数组类在内...
我是风 2008-04-22
  • 打赏
  • 举报
回复
Object o=new Object[4]; //错了
Object o=new Object();

Object[] o=new Object[4]; //正确
kingssq 2008-04-22
  • 打赏
  • 举报
回复
那也写也没有错,因为数组也是继承了Object的。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧