首页 > 解决方案 > 使用 Java 的无限对象?

问题描述

注意:我正在寻找关于我遇到的这个问题的简单反馈,而不是让任何人完成这个问题。

是否有可能创建一个程序,只需使用数组和继承就可以创建无限数量的对象?例如,允许雇主使用一个系统,他们可以在每次雇用某人时创建一个新员工。该程序还需要每个员工的唯一标识符 - 因此它需要将一个新员工 ID 与已创建的所有其他员工 ID 进行核对,以确保它不是重复的。

我做了一些研究,有些人提到了 ArrayLists。我问这个问题是因为这是一个在期中考试时提出的问题,但我并不是在寻找完成这个程序的新方法——只是问它仅使用数组和继承的可行性。我知道数组是固定的,所以我不确定如何不断增加新员工。

例如,如果我想创建一个员工 Jen,我知道我会去: Employee jen = new Employee();

为了使这个程序工作,我假设我必须制作通用对象,每个对象的名称都与已创建的任何其他对象不同。这可能与我提到的(仅使用数组和继承)有关吗?从我读过的内容来看,使用这个程序似乎是不可行的,但是一位教授提出了这个问题,所以我想知道是否有另一种方法来考虑这个问题。

编辑是因为人们在做出假设而不是阅读我的问题。提前致谢。

标签: javaarraysobjectinheritance

解决方案


如果你不允许使用 ArrayLists,你可以手动“扩展”一个普通的 Array。例如,检查当前数组是否已满,如果是,则创建一个两倍于当前数组大小的新数组并复制其所有当前值,并将该新数组分配为当前数组。

与仅使用 ArrayLists 相比,它的代码更多但效率更低,因为这是使用 Collections 框架的主要目的之一。


推荐阅读