【问题标题】:Difference between Object[] and Array of specific Objects in javajava中Object[]与特定对象数组的区别
【发布时间】:2019-01-02 14:00:49
【问题描述】:

我知道这可能是微不足道的,但我还没有找到答案。

Object[]和具体Object的数组有什么区别,例如

class car {
    public Object[] someCars;
    public car[] someOthercars;
}

我知道 car[] 可以存储汽车对象,而 Object[] 可以存储任何对象。但是除此之外还有什么不那么明显的区别吗?

【问题讨论】:

  • ObjectCar 变量有什么区别?
  • Object[] 可以包含任何Objects。 car[] 可以包含 car 的实例。正如您所料。
  • 请先打开一本书。
  • @khelwood。那么唯一的区别是 Object[] 可以包含任何对象,而 car[] 只能存储 car 对象?

标签: java arrays object


【解决方案1】:

Car[] 只能包含Car 实例或Car 实例的子类。 如果你有这样的类:class Honda extends CarHonda 实例也可以填充到 Car 数组中,因为 Honda 扩展Car

Object[] 可以包含任何Object 实例,或Object 的任何子类(Java 中的每个类都是Object 的子类,即使没有明确说明带有@ 987654332@ 自定义类中的关键字),因此 java 中的任何实例都可以填充到 Object 数组中。

【讨论】:

    【解决方案2】:

    您的问题的答案在这里:

    1. The Java™ Tutorials. Classes
    2. The Java™ Tutorials. Object-Oriented Programming Concepts

    UPD

    Car 类继承自 ObjectCars 的数组比Objects 的数组窄。所以粗略地说,如果您将汽车存储在一组对象中 - 每次您想要使用实例时,您都需要将它们转换回汽车。我怀疑你真的需要那个。

    【讨论】:

    • 在您的链接中看不到任何对对象数组的引用
    • @CuriousIndeed,请参阅第二个链接中的 What Is Inheritance?。考虑 Car 隐式继承自 Object
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • @BoarGules 添加文字说明
    猜你喜欢
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2013-01-16
    • 1970-01-01
    • 2019-11-01
    • 2022-12-11
    • 1970-01-01
    相关资源
    最近更新 更多