1.成员方法传参机制
引用数据类型的传参机制
引用类型传递的是地址(其实也是值,只不过值是地址),可以通过形参影响实参!
public class MethodParameter01 {public static void main(String[] args) {int[] arr = {1, 2, 3};AAA a = new AAA();System.out.println("以下输出的是test方法中的数组");a.test(arr);System.out.println("以下输出的是main方法中的数组");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}
}class AAA {public void test(int[] arr) {arr[0] = 100;for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}System.out.println();}
}
public class MethodParameter01 {public static void main(String[] args) {// int[] arr = {1, 2, 3};AAA a = new AAA();// System.out.println("以下输出的是test方法中的数组");// a.test(arr);// System.out.println("以下输出的是main方法中的数组");// for (int i = 0; i < arr.length; i++) {// System.out.print(arr[i] + " ");// }Person p = new Person();p.age = 10;a.test2(p);System.out.println("main p.age = " + p.age);}
}class AAA {public void test(int[] arr) {arr[0] = 100;for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}System.out.println();}public void test2(Person p) {p.age = 100;}
}class Person {String name;int age;
}
一个有趣的改动 会是你想到的结果吗?
public void test2(Person p) {p = null;
}
再改动一下 会是你想象中的结果吗?
public void test2(Person p) {Person p = new Person;p.age = 99;p.name = "logic";
}
还是10哈哈哈,我当时也想不到(●'◡'●)
方法在哪个作用域调用,就用那个调用的作用域赋予的方法值