4.1 题目

  1. package s01.e04;
  2. import java.util.Arrays;
  3. public class Exam4 {
  4. public static void main(String[] args) {
  5. int i = 1;
  6. String str = "hello";
  7. Integer num = 2;
  8. int[] arr = {1, 2, 3, 4, 5};
  9. MyData my = new MyData();
  10. change(i, str, num, arr, my);
  11. System.out.println("i = " + i);
  12. System.out.println("str = " + str);
  13. System.out.println("num = " + num);
  14. System.out.println("arr = " + Arrays.toString(arr));
  15. System.out.println("my.a = " + my.a);
  16. }
  17. public static void change(int j, String s, Integer n, int[] a, MyData m) {
  18. j += 1;
  19. s += "world";
  20. n += 1;
  21. a[0] += 1;
  22. m.a += 1;
  23. }
  24. }
  25. class MyData {
  26. int a = 10;
  27. }

4.2 考点

  • 方法的参数传递机制
  • String、包装类等对象的不可变性

    4.3 推算过程

    image.png
    image.png
    image.png

    4.4 方法的参数传递机制

  • 形参是基本数据类型

    • 传递参数值
  • 实参是引用数据类型
    • 传递地址值
    • 特殊的类型:String、包装类等对象不可变性