Java 参考问题
我有以下代码的问题。让我看看代码正在做什么或打算做什么。Java 参考问题,java,reference,parameter-passing,Java,Reference,Parameter Passing,我有以下代码的问题。让我看看代码正在做什么或打算做什么。createZoo方法执行以下操作: 它创建一个Cage对象数组 向该数组的每个索引添加一个由两个动物对象组成的配对对象 newZoo.add(cage[i])-将cage对象传递给Zoo类中的add方法。它被添加到Zoo类的列表中 当我在Zoo类中访问此列表以检索框架对象时,问题就会出现。检索到的框架对象不正确。很抱歉这里的含糊不清,但我认为问题在于上面的第3点,当我将参数cage[I]传递到Zoo类的列表中时。我应该传递一个索引吗 谢谢
createZoo
方法执行以下操作:
Cage
对象数组newZoo.add(cage[i])
-将cage对象传递给Zoo
类中的add方法。它被添加到Zoo
类的列表中Zoo
类中访问此列表以检索框架对象时,问题就会出现。检索到的框架对象不正确。很抱歉这里的含糊不清,但我认为问题在于上面的第3点,当我将参数cage[I]
传递到Zoo
类的列表中时。我应该传递一个索引吗
谢谢
class algo{
private int counter = 15;
private Zoo newZoo = new Zoo();
public void createZoo() {
Cage[] cage = new Cage[counter];
//initialize cage array with cage objects
initializeCageArray(cage);
while(counter>0) //outer while loop
for(int i =0; i<counter; i++)
{
for(int x = 0,y = end of array;x<somecounter; x++, y--)
{
Animal animala = Animal.get(x)
Animal animalb = Animal.get(y);
cage[i].add(new MatingPair(animala, animalb));
}
//adds cage object to list container in zoo class
//Am I passing the wrong thing here - maybe I need to pass an index?
newZoo.add(cage[i]);
--counter;
}
}
类算法{
专用整数计数器=15;
私人动物园newZoo=新动物园();
公众假期{
Cage[]Cage=新Cage[计数器];
//使用框架对象初始化框架数组
初始化Gearray(笼子);
while(计数器>0)//外部while循环
对于(int i=0;i而言,将Cage
的引用传递到Zoo
是完全正确的,并且比将索引传递到cages[]
要好
现在想一想,如果Zoo
类想对Cage
对象做些什么(假定打开所有Cage!),那么他们将如何仅使用索引访问Cage
的对象。您还将以某种方式将整个Cage[]
数组的访问权授予Zoo
因此,如果直接传递Cage
的引用会更好,至于如何操作Cage,您将需要引用它
希望它有意义。什么是y=end of array
?这是您的实际代码吗?不只是循环中的伪代码我的主要问题是:如果我传递数组中某个索引引用的对象,如cage[I]对于将其添加到cage对象列表的方法,列表是否应该能够正确引用它?或者列表是否需要发送某种形式的索引才能正确引用它?添加cage[i]没有错
到列表。这将传递对数组第i个元素的引用。您从不传递对象,而是始终传递引用。将cage[i]
指定为参数将传递存储在cage
数组第i个条目中的引用。程序员通常是“松散的”在他们描述事物的方式上,但是当你第一次学习时,学会准确地说话是很重要的。