我知道Object是java中所有类的最超级类。但是,在代码之下,我无法理解。请帮帮我。
Object c = new long[4];
Object d = new int[4];
答案 0 :(得分:7)
在Java编程语言中,数组是对象(§4.3.1),是动态创建的,可以分配给Object类型的变量(§4.3.2)。可以在数组
上调用Object类的所有方法
答案 1 :(得分:4)
如上所述,这会给你一个错误,因为你正在重新声明一个名为c的变量。但是,以下内容完全有效:
Object c = new long[4];
c = new int[4];
这很有效,因为正如你所说,Object是Java中所有非基本类型的超类。
答案 2 :(得分:2)
它编译,因为Java中的每个数组也是一个对象。
答案 3 :(得分:0)
Object
是Java中的arrays
超类(仅提到数组,因为问题要求如此)。
因此,当您为对象分配一个长数组时,它是内部类型转换为Object。
同样适用于int。所以在两个语句的最后,右边的变量是一个Object。但是,两行中都不能有Object c =
。