为什么在Java中将数组声明为对象是正确的?

2022-09-05 00:35:15

将编译以下表达式:

Object oa = new float[20]; 

此表达式如何有效?

根据我的观点,正确的语法是

Object [] oa = new float[20]; 

答案 1

数组是 Java 中的对象。因此,浮点数组是一个对象。

BTW 也是有效的,因为对象数组是一个对象。Object o = new Object[20];

另请注意,这是无效的,因为基元浮点数不是对象,因此浮点数数组不是对象数组。正确的是Object[] oa = new float[20];

Object[] oa = new Float[20];

关于数组,因为它们是对象,所以它们具有java.lang.Object的所有方法。它们还有一个公共的最终属性,它们是可克隆的和可序列化的:length

Object o = new float[20];
System.out.println("o instanceof Serializable = " + (o instanceof Serializable)); // true
System.out.println("o instanceof Cloneable = " + (o instanceof Cloneable)); // true

答案 2

基本上,是Java中所有对象的超类。因此,创建类的引用,然后将其用作任何其他对象是有效的。ObjectObject

Object ob = new Integer(5);

Java中的数组只不过是对象,因此可以为类的引用分配数组。Object


推荐