java - java中Object[]与特定对象数组的区别
问题描述
我知道这可能是微不足道的,但我还没有找到答案。
和 Object[] 和特定对象的数组有什么区别,例如
class car {
public Object[] someCars;
public car[] someOthercars;
}
我知道 car[] 可以存储汽车对象,而 Object[] 可以存储任何对象。但是除此之外还有什么不那么明显的区别吗?
解决方案
Car[]
只能包含Car
实例或实例的子类Car
。如果您有这样的类:class Honda extends Car
,Honda
也可以在Car
数组中填充实例,因为 Honda扩展自Car
.
Object[]
可以包含任何Object
实例或任何子类Object
(Java 中的每个类都是一个子类Object
,即使它没有在自定义类中使用extends
关键字明确声明),因此 java 中的任何实例都可以填充到Object
数组中。