【问题标题】:Java: Extend class as arrayJava:将类扩展为数组
【发布时间】:2012-06-06 13:13:27
【问题描述】:

快速新手问题:我想将一个类扩展为一个数组,像这样

public class Map extends Item[][]
{

}

这可能吗,我是不是走错了路?谢谢!

【问题讨论】:

  • 我猜你的情况可能是更好的组合,而不是继承......
  • 我会看一下 Collections API,因为可能已经有您正在寻找的类的类型。此外,这将允许您在代码中正确使用接口(例如Map)。如果不是,那么更倾向于组合而不是继承,并让你的类有一个属性,即内部数组存储。
  • 将其扩展为“数组”的目的是什么?而不是定期从Item 扩展它?

标签: java arrays extends


【解决方案1】:

数组是奇怪的野兽。它们有一些属性,比如length,但它们不是一个类,所以你不能像你尝试的那样扩展它们。

我认为你最好使用组合,即创建一个包含 Item[][] 的类 然后扩展该类(如果需要,拥有一个类可能就足够了)

【讨论】:

  • 或者你可以扩展列表,例如数组列表。但是组合肯定更好。
  • @AlexR 是的,如果他真的想要收藏的话。我假设他想要一个数组。每当我看到一个数组时,我都会尽量避免自动想到“使用集合”。
  • 我有一个类似的问题:如果类 '''Map extends Item[]''' is not allowed 为什么是 '''List extends Item[]>''' 允许,这个列表的类型是什么? @hvgotcodes
猜你喜欢
  • 2016-12-26
  • 2014-09-14
  • 1970-01-01
  • 2021-10-10
  • 1970-01-01
  • 2021-04-29
  • 2010-12-31
相关资源
最近更新 更多