练习题1:Java引用对象指向练习

求代码最终的输出结果:str、a、p、array

 public class Test {
  public static void main(String[] args) {
  String str = "hello";
  Integer a = 1;
  Point p = new Point(1,2);
  Point[] array = {
  new Point(3,4),
  new Point(5,6),
  new Point(7,8)
  };
  test(str,a,p,array);
  System.out.println(str);
  System.out.println(a);
  System.out.println(p);
  System.out.println(Arrays.toString(array));
  }
  public static void test(String str,Integer a,Point p,Point[] array){
  str = str.substring(1);
  a++;
  a=20;
  p.setX(2);
  array[0].setX(a);
  Point[] array2 = Arrays.copyOf(array, array.length+1);
  array2[array2.length-1]=p;
  array2[0].setX(5);
  array = array2;
  array[array2.length-1].setX(6);
  p = new Point(7,8);
  }
 }
 

输出结果:

  hello
  1
  Point [x=6, y=2]
  [Point [x=5, y=4], Point [x=5, y=6], Point [x=7, y=8]]

解答:

 

posted @ 2021-07-09 15:16  Coder_Cui  阅读(107)  评论(0编辑  收藏  举报