首页 > 试题广场 >

下边有一段Java小程序。执行到“ do stuff”这

[问答题]
下边有一段Java小程序。执行到“// do stuff”这一行时已经创建一些对象与引用变量。你的工作是要判别哪个引用变量引用到哪个对象。引用变量不一定用到,对象也可能会被多个变量引用。对有引用关系的对象画线连接起来。
class HeapQuiz {
  int id = 0;
  public static void main(String [] args) {
    int x = 0;
    HeapQuiz [ ] hq = new HeapQuiz[5];
    while ( x < 3 ) {
      hq[x] = new HeapQuiz();
      hq[x].id = x;
      x = x + 1;
    }
    hq[3] = hq[1];
    hq[4] = hq[1];
    hq[3] = null;
    hq[4] = hq[0];
    hq[0] = hq[3];
    hq[3] = hq[2];
    hq[2] = hq[0];
    // do stuff
  }
}

引用变量:         堆对象:
    A hq[0]            1 id = 0
    B hq[1]            2 id = 1
    C hq[2]            3 id = 2
    D hq[3]
    E hq[4]

这道题你会答吗?花几分钟告诉大家答案吧!