使用Java的无限对象?

使用Java的无限对象?,java,arrays,object,inheritance,Java,Arrays,Object,Inheritance,注意:我正在寻找关于这个问题的简单反馈,而不是任何人来完成这个问题 是否有可能创建一个程序,只需使用数组和继承就可以创建无限数量的对象?例如,允许雇主使用一个系统,在该系统中,他们可以在每次雇佣员工时创建新员工。该程序还需要每个员工的唯一标识符,因此需要将一个新员工ID与所有其他已创建的员工ID进行核对,以确保其不重复 我做了一些研究,有些人提到了ArrayList。我问这个问题是因为这是一个期中考试的问题,但我不是在寻找完成这个项目的新方法——只是问仅使用数组和继承有多可行。我知道阵列是固定的

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

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

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

例如,如果我想成为一名员工Jen,我知道我会: Employee jen=新员工()

为了使这个程序正常工作,我假设我必须创建通用对象,每个对象的名称都不同于其他已创建的对象。我提到的(仅使用数组和继承)是否可能实现这一点?从我所读到的来看,这个程序似乎不可能用这个来实现,但是一位教授提出了这个问题,所以我想知道是否有其他方法来思考这个问题


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

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


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

每当我必须执行这样的任务时,我总是使用ArrayList,向ArrayList添加新项,然后在ListView中使用ArrayList之前将其强制转换为数组,等等

但是,如果我无法首先使用ArrayList,您可以始终将初始数组转换为原始数组大小+1的第二个数组

String[] arr1 = new String[1];
String[] arr2;

arr2 = new String[arr1.length() + 1];
然后将arr1复制到arr2中。当然,这可以手动完成,但使用for循环将是最有效的

for (int i = 0; i < arr1.length(); i++) {
    arr2[i] = arr1[i];
}
同样,您可以以相反的方式删除项目。它变得有点复杂,因为您需要筛选要删除的项,或者需要知道要删除的项的数组索引。但是,通过重新构建阵列,您将始终拥有一个与您所持有的物品大小完全相同的阵列

显然,您可以嵌套数组和for循环,使其按您希望的方式工作。它的效率不如使用ArrayList,但它是一种选择


祝你好运,快乐

你可以先问系统中有多少员工,比如说
N
,然后创建一个长度
N
的数组,最后创建
N
员工。你的讲师是否明确表示你不能使用
ArrayList
?嗨,肯,如果你读了我的帖子,你会读到:“我不希望有人给我写一个程序,只是想了解一下这方面的情况。“这不是任务,而是期中考试的问题。我已经有一个计划要和我的教授谈谈,但不会持续几天,我想了解一下,因为我觉得很失败。我做过研究,其他人说不能用数组创建无限的对象。GBlodgett谢谢你的回答,我们还没有学会如何使用ArrayList,而且它计划在期中考试后使用,所以她不会期望使用它。“无限”这个词在任何冯诺依曼机器上编程时都很可怕。
arr2[arr1.length() + 1] = "New Employee Information";